为什么ASP.NET危险请求验证以这种方式工作?

时间:2015-08-11 12:31:19

标签: asp.net validation dangerous-request

任何人都可以通过以下问题指出我正确的方向。

ASP.NET中的默认“危险请求”验证禁止输入

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

但同时允许输入

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

这里的理性是什么?

1 个答案:

答案 0 :(得分:2)

  

<p<p><script>

这些看起来像HTML / XML标签。

  

<%script><.script>

但这些没有。

验证是试图阻止跨站点脚本,例如。提交包含以下内容的字段:

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

(真正恶意除外)当您将该文本写回用户而不小心正确编码时,用户只需将代码注入您的网站。