Почему опасная проверка запросов 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>
(за исключением действительно злонамеренных) и когда вы просто пишете этот текст обратно пользователю, не заботясь о правильном кодировании, пользователь только что ввел код на ваш сайт.