SA Шпаргалка

Все ответы в 2 клика

Средний

Как защититься от SQL Injection с помощью Prepared Statements?

Prepared Statements (Параметризованные запросы) — это главный способ защиты от SQL-инъекций.

Вместо конкатенации строк (склеивания SQL-кода и ввода юзера), запрос отправляется в БД в два этапа:
1. Подготовка: Отправляется шаблон запроса: SELECT * FROM users WHERE login = ? AND password = ?.
2. Выполнение: Отдельно отправляются параметры (логин и пароль).

СУБД жестко компилирует шаблон. Даже если юзер введет в пароль 1' OR '1'='1, СУБД воспримет это просто как текстовую строку, а не как исполняемый SQL-код.

Другие вопросы темы «Защита»

Ещё вопросы раздела «Безопасность»

Все вопросы раздела «Безопасность»