Avatar ·

¿Cómo prevenir inyecciones SQL en PHP? Trabajo seguro con MySQL

Hola a todos. Soy un desarrollador PHP principiante y tengo un problema grave de seguridad. Estoy escribiendo un sitio simple para registro de usuarios, pero no estoy seguro de que mi código esté protegido contra hackeos. Aquí hay un ejemplo de mi código para autenticación: ```php $username = $_POST['username']; $password = $_POST['password']; $query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'"; $result = mysqli_query($connection, $query); if (mysqli_num_rows($result) > 0) { echo "¡Bienvenido, $username!"; } else { echo "Usuario o contraseña incorrectos"; } ``` He oído que ese código es vulnerable a inyecciones SQL. Por ejemplo, si ingresas `' OR '1'='1` en el campo username, se puede evitar la verificación de la contraseña. ¿Cómo puedo proteger correctamente mi aplicación? ¿Necesito escapar las comillas con `mysqli_real_escape_string`? ¿O hay formas más modernas? Preferiblemente con ejemplos de código para poder aplicarlo de inmediato en la práctica. ¡Gracias de antemano por la ayuda! <<>>

Principal pro