PHP中使用的预编译在python中同样适用,同样可以用预编译来防止python编码中的SQL注入问题。
错误用法:12sql = "select id,name from user where id = %s and name = %s" % (id, name)cur.execute(sql)
这种用法就是常见的拼接字符串导致sql注入漏洞的产生。
正确用法:
|
|
使用如此参数带入方式,python会自动过滤args中的特殊字符,制止SQL注入的产生。
execute()函数本身就有接受SQL语句变量的参数位,可以通过python自身的函数处理sql注入问题,只要正确的使用(即:使用”逗号”,而不是”百分号”)就可以对传入的值进行正确的转义,从而避免SQL注入的发生。
For Example:
|
|
参考文章:
http://xlixli.net/?p=377
http://www.cnblogs.com/sevck/p/6733702.html
https://crazyof.me/blog/archives/2224.html