Sobes.tech
Junior — Middle
104

¿Qué medidas deben tomarse para prevenir ataques de tipo SQL Injection en la aplicación?

Empresas donde se preguntó
УралсибУралсиб

Respuesta de la IA

sobes.tech AI

Для предотвращения атак типа SQL Injection в Java-приложениях необходимо:

  • Использовать подготовленные выражения (PreparedStatement) вместо конкатенации строк для формирования SQL-запросов. Это позволяет передавать параметры отдельно от кода запроса, что исключает возможность внедрения вредоносного SQL.

  • Применять ORM-фреймворки (например, Hibernate), которые автоматически обрабатывают параметры запросов и снижают риск инъекций.

  • Валидировать и фильтровать входные данные, особенно если они используются в запросах.

  • Ограничивать права доступа к базе данных, чтобы минимизировать последствия возможной атаки.

Пример использования 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();

Такой подход предотвращает внедрение вредоносного SQL-кода через параметры.