Sobes.tech
Junior — Middle

¿Qué medidas de seguridad permiten prevenir las inyecciones SQL en una aplicación web?

sobes.tech AI

Respuesta de la IA

Para prevenir inyecciones SQL en aplicaciones web, se aplican las siguientes medidas de seguridad:

  • Uso de consultas parametrizadas (sentencias preparadas), donde los parámetros se pasan por separado del código SQL.
  • Uso de bibliotecas ORM (Mapeo Objeto-Relacional), que escapan automáticamente los datos.
  • Validación y filtrado de la entrada del usuario en el lado del servidor.
  • Limitación de los permisos de acceso a la base de datos para minimizar el daño en caso de un posible ataque.

Ejemplo de una consulta parametrizada en C# usando ADO.NET:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var command = new SqlCommand("SELECT * FROM Users WHERE Username = @username", connection);
    command.Parameters.AddWithValue("@username", inputUsername);
    var reader = command.ExecuteReader();
    // procesamiento del resultado
}