Postagens

Como Executar Comandos SQL Parametrizados no Python para Evitar SQL Injection

Imagem
Como Executar Comandos SQL Parametrizados no Python para Evitar SQL Injection Concatenar strings para montar consultas SQL é uma das falhas de segurança mais perigosas no desenvolvimento de software, pois expõe a aplicação a ataques de SQL Injection. A solução definitiva é utilizar consultas parametrizadas , delegando ao driver do banco de dados a sanitização e o escape correto dos valores recebidos do usuário. A seguir, veja como implementar a passagem segura de variáveis em instruções SELECT e INSERT utilizando o módulo nativo sqlite3 . Python import sqlite3 # Inicializa conexão e cria tabela em memória para demonstração conn = sqlite3.connect( ':memory:' ) cursor = conn.cursor() cursor.execute( ''' CREATE TABLE clientes ( id INTEGER PRIMARY KEY AUTOINCREMENT, nome TEXT NOT NULL, email TEXT NOT NULL ) ''' ) # ----------------------------------------------------------------------------- # 1. INSERT Parametriz...