Sobes.tech
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.