psycopg2
följer reglerna för DB-API 2.0 (fastställda i PEP-249). Det betyder att du kan anropa execute
metod från din cursor
objekt och använd pyformat
bindande stil, och det kommer att göra undan för dig. Till exempel, följande bör vara säker (och arbeta):
cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s",
{"lname": "Robert'); DROP TABLE students;--"})