DataBoosters
SQL
Saltar+6 XP

Un formulario de login arma su consulta pegando directamente lo que el usuario escribió: "SELECT * FROM usuarios WHERE correo = '" + correo_escrito + "'".

Mira qué es una inyección SQL.

Pegar texto es peligroso

Si alguien escribe algo como ' OR '1'='1 en el campo de correo, esa condición se convierte en parte real de la consulta

Los parámetros no se interpretan como código

Con parámetros (marcadores como ? o :correo), el motor SIEMPRE trata el valor como un dato, nunca como parte de la instrucción SQL

No es un problema de sintaxis, es de seguridad

Una consulta armada con + puede funcionar perfecto en pruebas normales, y ser insegura igual

El detalle que importa

El usuario nunca debería poder cambiar la ESTRUCTURA de una consulta

Un campo de texto debería poder cambiar solo el VALOR que se busca, nunca agregar condiciones, palabras clave o instrucciones nuevas a la consulta.