MySQL参数化查询

MySQL参数化查询,第1张

MySQL参数查询

提防对SQL查询使用字符串插值,因为它不能正确地转义输入参数,并使您的应用程序容易受到SQL注入漏洞的影响。
这种差异看似微不足道,但实际上它是巨大的

不正确(存在安全问题)
c.execute("SELECt * FROM foo WHERe bar = %s AND baz = %s" % (param1, param2))
正确(带有转义符)
c.execute("SELECt * FROM foo WHERe bar = %s AND baz = %s", (param1, param2))

这增加了混乱,即用于绑定SQL语句中的参数的修饰符在不同的DB
API实现之间有所不同,并且mysql客户端库使用

printf
样式语法而不是更普遍接受的’?’。标记(例如,使用
python-sqlite
)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4899712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存