sanitize php sql injection - ¿Cómo puedo evitar la inyección SQL en PHP?

php mysqli_query / php / mysql / sql / security / sql-injection

Si la entrada del usuario se inserta sin modificación en una consulta SQL, entonces la aplicación se vuelve vulnerable a la inyección SQL , como en el siguiente ejemplo:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')

44 revs, 36 users 14%



Answer #1

Podrías hacer algo básico como esto:

$safe_variable = mysqli_real_escape_string($_POST["user-input"], $dbConnection);
mysqli_query($dbConnection, "INSERT INTO table (column) VALUES ('" . $safe_variable . "')");