¿Esta consulta MySql sql-injection está protegida? [duplicar]

-1

Tengo un pequeño código php, antes de descubrir mysqli real_escape_string estaba usando una función con algunas reglas de expresiones regulares para limpiar todas las entradas de los usuarios mediante símbolos, pero para un correo electrónico o una contraseña, esta no es una buena solución. Así que encontré esta función para evitar una inyección de SQL.

$email = $MySQLi_CON->real_escape_string(trim($_POST['uemail']));

$query = $MySQLi_CON->query("SELECT user_id, uemail, user_password FROM users WHERE uemail='$email'");

¿Este código está protegido contra entradas maliciosas?

    
pregunta user324964 10.03.2016 - 17:51
fuente

1 respuesta

2

mysql_real_escape_string no es una solución mágica para detener los ataques de inyección de SQL. Hay formas en que un atacante puede realizar un ataque de inyección SQL, incluso si está pasando todas las entradas a través de mysql_real_escape_string . Ver enlace para un interesante hilo sobre este tema.

Es muy recomendable usar declaraciones preparadas para evitar ataques de inyección de SQL, en lugar de utilizando mysql_real_escape_string .

    
respondido por el mti2935 10.03.2016 - 18:11
fuente

Lea otras preguntas en las etiquetas