Junior — Middle
¿Qué tipos de consultas consideras más seguras y por qué?
sobes.tech AI
Respuesta de la IA
Los más seguros son los consultas parametrizadas (prepared) y las consultas ORM, que escapan automáticamente los datos de entrada.
La razón es que previenen las inyecciones SQL, cuando un atacante inserta código SQL malicioso a través de la entrada del usuario.
Ejemplo:
-
En una consulta parametrizada, los parámetros se pasan por separado del código SQL, lo que excluye la posibilidad de cambiar la estructura de la consulta.
-
A diferencia de la concatenación de cadenas, donde la entrada del usuario se inserta directamente en la consulta.
Por ejemplo, en Java con JDBC:
String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, userInput);
ResultSet rs = ps.executeQuery();
Este enfoque es más seguro que:
String sql = "SELECT * FROM users WHERE username = '" + userInput + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
Por lo tanto, para la seguridad en las pruebas y el desarrollo, se recomienda usar consultas parametrizadas.