Consulta parametrizada
O que é Consulta parametrizada?
Consulta parametrizadaConsulta de banco de dados cujos valores são enviados separadamente do texto SQL via marcadores, impedindo que a entrada do usuário altere a estrutura da consulta.
Uma consulta parametrizada (prepared statement) permite ao desenvolvedor pré-compilar um template SQL com marcadores como '?' ou ':id' e depois associar valores a eles. O motor trata os parâmetros estritamente como dados — nunca como parte da sintaxe SQL —, de modo que entradas com aspas, pontos e vírgulas ou comentários não conseguem alterar a lógica. É a mitigação canônica para SQL injection (CWE-89) e é suportada por praticamente todo driver e ORM. Deve ser o padrão para qualquer SQL com entrada não confiável, complementada por contas de banco com menor privilégio, validação em allow-list e APIs seguras do ORM para identificadores dinâmicos.
● Exemplos
- 01
Usar 'SELECT * FROM users WHERE id = ?' com parâmetro inteiro vinculado em vez de concatenar o ID.
- 02
Empregar parâmetros nomeados em PDO ou psycopg com um dicionário de valores em vez de formatação de string.
● Perguntas frequentes
O que é Consulta parametrizada?
Consulta de banco de dados cujos valores são enviados separadamente do texto SQL via marcadores, impedindo que a entrada do usuário altere a estrutura da consulta. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa Consulta parametrizada?
Consulta de banco de dados cujos valores são enviados separadamente do texto SQL via marcadores, impedindo que a entrada do usuário altere a estrutura da consulta.
Como se defender contra Consulta parametrizada?
As defesas contra Consulta parametrizada costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Consulta parametrizada?
Nomes alternativos comuns: Prepared statement, Consulta com parâmetros vinculados.