Evitando SQL Injection - Python

Um exemplo prático de como melhorar a segurança de sua aplicação.

O que é SQL Injection?

Cenário

def add_comments(content):  
conn = psycopg2.connect("dbname=yourdatabase")
cursor = conn.cursor()
cursor.execute("insert into comments values ('$s')" % content)
conn.commit()
conn.close()
Trecho da documentação do Python.

O que isso causa?

Como corrigir isso?

def add_comments(content):  
conn = psycopg2.connect("dbname=yourdatabase")
cursor = conn.cursor()
cursor.execute("insert into comments values ($s)", (content,))
conn.commit()
conn.close()

Software Engineer, Full Stack Developer, Musician and Writer. edertaveira.com

Software Engineer, Full Stack Developer, Musician and Writer. edertaveira.com