Почему htmlentities не может на 100% обезопасить от XSS?

101
12 февраля 2022, 05:00

На Stack Overflow и на других форумах в темах по защите от XSS видел, что люди говорят про то, что htmlentities не спасет во всех случаях, но почему, никто не говорит (или объяснено очень скупо).
Я не понимаю, почему в некоторых случаях hmtlenties может не помочь. Ведь эту функция заменяет все символы на html-сущности и поэтому любая вставка вредоносного кода превратиться в обычный текст.

Допустим на сайте пользователь оставил такой комментарий:
<script>hack();alert("Вы взломаны")</script>
Благодаря htmlentites в этом и подобных случаях XSS-атаки не произойдет.
Тогда в каких же случаях htmlentites может не помочь?

Многие советуют для более полной защиты использовать HTML Purifier, но я абсолютно не понимаю почему нельзя обойтись лишь одним htmlentitites()

READ ALSO
Вложенный SELECT метода IN в EntityFramework linq

Вложенный SELECT метода IN в EntityFramework linq

В месте вызова определен контекст

90
Получить имя свойства в Func C#

Получить имя свойства в Func C#

Как получить имя свойства из Func<T, string>?

136
Может ли геттер и сеттер быть статичным?

Может ли геттер и сеттер быть статичным?

Можно ли задать геттер статичным,но при этом сеттер приватным/публичным? И для чего нужны статичные геттеры и сеттеры?

85
System.FormatException: &quot;Input string was not in a correct format.&quot;

System.FormatException: "Input string was not in a correct format."

Проблема возникает при компиляцииУ меня 3 действия, если пользователь ввёл не число, а буквы, то программа должна выводить "Пожалуйста, выбирайте...

150