Встречается на собеседованиях • сегодня
Что нужно делать, чтобы не допустить возможность SQL Injection
Используй PreparedStatement вместо конкатенации строк в SQL-запросах. PreparedStatement автоматически экранирует параметры, предотвращая инъекции. Также можно использовать ORM (Hibernate, JPA) или библиотеки типа JDBI.
Пример безопасного кода:
java
String query = "SELECT * FROM users WHERE login = ? AND password = ?";
try (PreparedStatement stmt = connection.prepareStatement(query)) {
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
// обработка результатов
}Дополнительные меры:
- Валидация входных данных
- Принцип минимальных привилегий для DB-пользователя
- Использование хранимых процедур
- Регулярное обновление СУБД и драйверов

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы