首页新闻找找看学习计划

sqlite中防注入的问题

0
[待解决问题]

请教各位大神,本菜鸡一直在想sqlite的防注入问题,有人说sqlite中通过问号占位符就能解决注入问题是不是真的呢?是不是因为占位符的实现原因呢?例如以下代码:

import sqlite3

db = sqlite3.connect("test.db")
cursor = db.cursor()
myInput = "' or 1 = 1; --"

sql = "select * from testable where passwd = '%s'"%myInput
# this will cause sql injection
cursor.execute(sql)

# this will not cause sql injection
cursor.execute("select * from testable where passwd = ?", (myInput,))

db.close()
BadCodeBuilder的主页 BadCodeBuilder | 菜鸟二级 | 园豆:202
提问于:2020-01-29 23:46
< >
分享
所有回答(1)
0

用占位符的时候是用sqlite3_bind直接绑定的值,不用占位符是从语句中解析出的值

jakio6 | 园豆:1044 (小虾三级) | 2020-01-30 08:03

万分感谢

支持(0) 反对(0) BadCodeBuilder | 园豆:202 (菜鸟二级) | 2020-01-30 13:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册