Задать вопрос
@GoodPirojok

Достаточно ли подготовленных запросов и и проверки на спец. символы для защиты?

Всем привет!

Если на сервере установлены подготовленные запросы и обработка текста на вводе htmlspecialchars.
Этого достаточно, чтобы быть спокойным, что с вашей БД ничего не случится и пользователи не смогут получить вредоносный скрипт из базы?

И в чём разница белого листа от подготовленных запросов, и вообще, нужен ли он, если по факту подготовленный запрос исключает возможность любой манипуляции с БД со стороны, которая не предусмотрена кодом разработчика?
  • Вопрос задан
  • 143 просмотра
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Ну и каша.

- подготовленные запросы защищают данные (то есть числа и строки) передаваемые в запрос. Если у тебя данные передаются во все запросы без исключений через параметры, то ты защищён
- белый лист нужен для того чтобы защищать имена полей или ключевые слова, буде появится необходимость добавлять их в запрос динамически

То есть эти два подхода защищают разные части запроса, и вместе гарантируют защиту.

А htmlspecialchars вообще не имеет никакого отношения к БД
Ответ написан
Комментировать
@cicatrix
было бы большой ошибкой думать
Для защиты от SQL-инъекций необходимо удостовериться, что данные с клиента (именно данные, а не пользовательский ввод, ибо ничего не мешает выполнить веб-запрос нештатными методами) никогда не передаётся на сервер напрямую, а всегда экранируется. Значения никогда не передаются в запрос напрямую, а только через параметры.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы