Back to questions
Уралсиб
Junior — Middle
55
Какие меры необходимо предпринять для предотвращения атак типа SQL Injection в приложении?
Companies where asked
Answer from AI
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-кода через параметры.