Экранирование пользовательского ввода для отображения в HTML при отображении символов - PullRequest
0 голосов
/ 09 февраля 2020

Это новый вопрос ie, но я не могу найти простой ответ на этот вопрос. Многие советуют избегать любых пользовательских данных, которые отображаются на HTML. Но это оставляет меня с уродливыми HTML сущностями, которые появляются в представлении пользователя.

Например: в моем приложении CRUD в NodeJS, допустим, я поместил этот механизм экранирования в промежуточное ПО (используя библиотеку валидатора):

for(x in req.body){

  req.body[x]=validator.escape(req.body[x])
}

Хорошо, похоже, работает , но допустим, что пользователь пишет это в сообщении в блоге: «Я предсказываю X> Y».

Теперь это будет отображаться как «Я предсказываю x '>'; y», когда пользователь поднимает сообщение. .

Итак, как мне использовать экранирование для защиты моего приложения, позволяя моему пользователю просматривать такие символы, как '>'? Или это означает, что данные уже экранированы и мне не нужен валидатор? Я использую мопса для шаблонов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...