Junior — Middle
¿De qué maneras se pueden prevenir las vulnerabilidades relacionadas con la inyección de código SQL a través de parámetros en JDBC?
sobes.tech AI
Respuesta de la IA
Para prevenir vulnerabilidades relacionadas con la inyección de código SQL (SQL Injection) a través de parámetros en JDBC, se utilizan los siguientes métodos:
-
PreparedStatement — uso de consultas parametrizadas, donde los parámetros se pasan por separado y no se insertan directamente en la cadena SQL. Esto evita que los parámetros se interpreten como código.
-
Validación y escape de datos de entrada — verificar y limpiar los datos antes de usarlos en las consultas.
-
Uso de ORM — por ejemplo, Hibernate, que generan consultas seguras automáticamente.
Ejemplo de uso de PreparedStatement:
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();
Este enfoque evita la posibilidad de inyectar código SQL malicioso a través de los parámetros.