У меня есть текстовое поле в форме, которое должно принимать ввод с помощью тегов HTML.
Отправка ввода с тегами HTML в заставляет приложение генерировать исключение HttpRequestValidationException
, если мы не используем HttpUtility.HtmlEncode
. Пока все просто.
Однако входные данные могут также содержать символы, такие как символ «градусы» (°). Когда они также закодированы в HTML, они становятся числовыми escape-кодами, в этом примере & # 176;
. Эти коды также вызывают HttpRequestValidationException
, но вопрос в том, почему?
Я могу ' Я не понимаю, почему числовые escape-коды считаются потенциально опасными, особенно потому, что & deg;
отлично работает как ввод.
Кажется, я застрял, так как оставить ввод как есть не удается из-за тегов , и HTML-кодирование ввода не выполняется из-за числовых переходов. Мое решение до сих пор заключалось в кодировании HTML, затем регулярное выражение заменяет escape-последовательности их HTML-декодированными формами, но я не уверен, что это безопасное решение, поскольку я предполагаю, что escape-последовательности считаются опасными по какой-то причине.