Heim > Fragen und Antworten > Hauptteil
Ist es notwendig, auf frühere Anti-Injection-Dokumente in Sprachen wie PHP oder Java zu verweisen? Es ist wirklich schwer, Anti-Injection-Dokumentation zu Python zu finden
黄舟2017-06-14 10:52:54
1.通过
cursor.execute("select * from table where name=%s", "name")
可以防注入。
2.如果通过
sql = "select * from table where name=%s" % MySQLdb.escape_string(name)
这种格式,需要MySQLdb.escape_string(name),可以防注入.
推荐使用第一种。
欧阳克2017-06-14 10:52:54
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
我知道的一点是不要使用 sql.format("x1", "x2"), 要把参数传给cursor.execute去处理