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

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

Linda Hamilton
Linda Hamilton原创
2024-12-11 15:26:11841浏览

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn