Встречается на собеседованиях • сегодня
Что такое SQL-инъекция
SQL-инъекция — это уязвимость, возникающая при некорректной обработке пользовательского ввода, который затем используется в SQL-запросах. Злоумышленник может внедрить вредоносный SQL-код, что приведёт к выполнению произвольных запросов к БД (например, кража данных, удаление таблиц).
Пример уязвимого кода:
java
String userInput = request.getParameter("username");
String query = "SELECT * FROM users WHERE username = '" + userInput + "'";
// Если userInput = ' OR '1'='1, запрос вернёт всех пользователейКак защититься:
- Prepared Statements (лучший способ):
java
String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, userInput); // Экранирование автоматическое- Валидация ввода, ORM (Hibernate), ограничение прав доступа БД.

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