psycopg2
segue le regole per DB-API 2.0 (stabilite in PEP-249). Ciò significa che puoi chiamare execute
metodo dal tuo cursor
oggetto e utilizzare il pyformat
stile di rilegatura, e farà la fuga per te. Ad esempio, i seguenti dovrebbero essere al sicuro (e lavorare):
cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s",
{"lname": "Robert'); DROP TABLE students;--"})