Пока не понимаю такой вещи. Если текст сообщения от юзера создается не в bb-разметке, а в html-разметке, надо ли для фильтрации от XSS и прочих атак прогонять этот текст через htmlspecialchars, если в тексте нет кода, предназначенного для отображения (вывода, показа) ?
Совсем у меня что-то мозги не просекают этого вопроса. Иногда просто кажется, что htmlspecialchars нужен только для вывода (отображения) кода. А если кода в сообщении нет - то и не нужен.
1. sadex - 12 Июля, 2013 - 19:00:38 - перейти к сообщению
2. AlexAnder - 12 Июля, 2013 - 19:12:31 - перейти к сообщению
3. sadex - 12 Июля, 2013 - 19:44:32 - перейти к сообщению
AlexAnder пишет:
Вот не врубаюсь, как в этом случае помогает htmlspecialchars.вася-хакер пишет:
привет всем <script>location.href='http://gogle.com';</script>
привет всем <script>location.href='http://gogle.com';</script>
Имхо, полный провал в моих мозгах. Ну, преобразовал этот контейнер <script> htmlspecialchars в сущности, но не только этот контейнер, но и весь текст сообщения. А при выводе сообщения в браузер надо же все это обратно в нормальный html преобразовывать, и опять всплывет этот контейнер <script>... Чую, что туплю, может, по черному, но что-то в мозге у меня не укладывается.
4. DelphinPRO - 12 Июля, 2013 - 20:20:04 - перейти к сообщению
sadex, если вы разрешаете в полях ввода писать html разметку, то стоит фильтровать по-другому. Тут отталкиваемся от того, что вы всё-таки не весь набор html-тегов разрешаете, а только оформительские для текста (чаще всего). Таким образом следует удалить все неразрешенные теги