2015-04-10 3 views
-1

Как я могу исправить этот код, чтобы быть менее уязвимым для SQL-инъекции? Это SQLite3SQL Injection problem SQLite Python

audit((cursor, connection, 0), 
    "registeration error for {0}".format(username)) 

sql="""insert into activitylog(userid, activity, start, stop) 
    values({0}, '{1}', '{2}','{3}') 
    """.format(handle[2], activity, start, stop) 

ответ

0

Я предлагаю вам использовать подстановку параметров, который встроен в к sqlite3 dbapi2.

con.execute('insert into activitylog (userid, activity, start, stop) values (?, ?, ?,?)',(handle[2], activity, start, stop)) 

Вы можете разбить его на несколько строк с строковым литералом тройной цитаты, как у вас в коде.