¿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
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Rust para aprendizaje automático: posibilidades y limitaciones para principiantes
Accessibilidad en JavaScript: cómo hacer un sitio web cómodo para todos
Pasando funciones en Go: de principiante a profesional en 15 minutos
Argumentos de línea de comandos en Python: Guía completa