Bagaimana untuk mengendalikan mysql dalam python untuk mengelakkan program anda sendiri daripada disuntik secara berniat jahat kemudian (secara terang-terangan, saya bertanya tentang beberapa perkara utama anti-suntikan dalam python)
滿天的星座
滿天的星座 2017-06-14 10:50:54
0
2
820

Adakah perlu merujuk kepada dokumen anti-suntikan sebelumnya dalam bahasa​​seperti php atau java? Sukar untuk mencari dokumentasi anti-suntikan yang berkaitan dengan python

滿天的星座
滿天的星座

membalas semua(2)
黄舟

1.Lulus

cursor.execute("select * from table where name=%s", "name")

Anti suntikan.

2.Jika lulus

sql = "select * from table where name=%s" % MySQLdb.escape_string(name)

Format ini memerlukan MySQLdb.escape_string(name) untuk mengelakkan suntikan.

Adalah disyorkan untuk menggunakan yang pertama.

学霸
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

Satu perkara yang saya tahu adalah untuk tidak menggunakan sql.format("x1", "x2"), tetapi untuk menghantar parameter kepada cursor.execute untuk pemprosesan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan