首页 > 数据库 > mysql教程 > 如何保护 Python 中的 MySQL 查询免受 SQL 注入?

如何保护 Python 中的 MySQL 查询免受 SQL 注入?

Linda Hamilton
发布: 2024-12-11 15:26:11
原创
762 人浏览过

How Can I Secure MySQL Queries in Python Against SQL Injection?

保护 Python 中的 MySQL 查询以防止 SQL 注入

从 Python 查询 MySQL 数据库时,防止 SQL 注入攻击至关重要。这涉及确保用户提供的变量不会干扰查询结构。

使用“execute”函数执行参数化查询,并将 %s 作为变量的占位符。将变量作为列表或元组传递作为要执行的第二个参数。

c = db.cursor()
max_price = 5
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
登录后复制

避免使用 % 直接进行字符串替换。相反,请使用逗号作为占位符:

c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
登录后复制
登录后复制

如果参数是字符串,请勿用单引号将占位符括起来:

c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
登录后复制
登录后复制

通过遵循这些最佳实践,您可以降低 SQL 注入攻击的风险并确保 Python 中 MySQL 连接的安全。

以上是如何保护 Python 中的 MySQL 查询免受 SQL 注入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板