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