Почему опасная проверка запросов ASP.NET работает таким образом?

Может ли кто-нибудь указать мне правильное направление со следующим вопросом.

Проверка по умолчанию "Опасный запрос" в ASP.NET запрещает входные данные, такие как

"<p", "<p>" or "<script>"

но в то же время позволяет входы, такие как

"<%script>" or "<.script>"

Что здесь рационального?

1 ответ

<p, <p> или же <script>

Они похожи на теги HTML/XML.

<%script> или же <.script>

но это не так.

И проверка пытается остановить межсайтовый скриптинг, например. отправка поля, содержащего:

<script>alert("You're powned!")</script>

(за исключением действительно злонамеренных) и когда вы просто пишете этот текст обратно пользователю, не заботясь о правильном кодировании, пользователь только что ввел код на ваш сайт.

Другие вопросы по тегам