@Programmir

Нужно ли экранировать get-запросы в input?

Допустим в input type="hidden" я вставляю GET-запрос. Нужно ли мне ещё обертывать его в htmlspecialchars? Или это излишне? В базе данных это сохраняться не будет.
  • Вопрос задан
  • 388 просмотров
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Два вопроса

1. Почему ты считаешь что "излишне" кодировать спецсимволы html при выводе данных в html?
2. Какая связь между функцией htmlspecialchars и базой данных?
Ответ написан
Wolfnsex
@Wolfnsex Куратор тега PHP
Если не хочешь быть первым - не вставай в очередь!
Не совсем понятно, что Вы имеете в виду под фразой "вставляю GET-запрос"... варианта у меня два на эту тему: либо результата GET-запроса, либо какие-то доп. параметры для GET-запроса. В обоих случаях, если речь идёт о содержимом какого-то поля типа INPUT (или TEXTAREA, что равносильно по сути) - оборачивать его в htmlspecialshars - лично я никакой необходимости не вижу. При отправке запроса - форма сама по себе прекрасно кодируется, без всяких "оборотов", содержимое поле исходно так же обычно не требует никаких дополнительных "оборотов", не зависимо от того, собираетесь ли Вы сохранять это в БД или нет.

P.S. Вообще, говоря про htmlspecialchars() и БД, логически "оборачивание" делается перед выводом данных на сайте, а не перед вставкой. Делается это например для того, что бы исключить возможность недобросовестным пользователям, которые оставляют скажем комментарии - вставлять в эти комментарии например JavaScript-код и прочие подобные факторы.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Всё, что приходит от пользователя - должно быть отфильтровано через regex на ожидаемые паттерны.
2. Все "тела" бинарных файлов (изображений, документов и т.д.) должны быть проверены на корректность ожидаемой структуры данных внутри них.
3. Исходники - (помимо запуска в "песочнице" с урезанными правами) ещё и на опасные действия внутри кода.
И НИКАК ИНАЧЕ!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы