保护 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中文网其他相关文章!