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

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