gpt4 book ai didi

python - 使用 _mysql 修复 SQL 注入(inject)

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:27 27 4
gpt4 key购买 nike

我刚刚发现我使用 _mysql 的方式导致了一个主要的 SQL 注入(inject)问题。

我当前的代码如下:

db = _mysql.connect('', 'user', 'pass', 'db')
query = """SELECT * FROM stuff WHERE thing="{0}" """.format(user_input)
cur.query(query)

我做错了什么,我该如何解决它以确保安全?

我试过使用 _mysql.escape_string() 但它仍然返回 SQL 语法错误。

最佳答案

您可以单独使用 MySQLdb:

conn = MySQLdb.connect();
curs = conn.cursor();
curs.execute("SELECT * FROM stuff WHERE thing = %s", (user_input));

如果你想坚持使用 _mysql,请使用 db.escape_string(user_input)

文档:http://mysql-python.sourceforge.net/MySQLdb.html

关于python - 使用 _mysql 修复 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15329531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com