0

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

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

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

但同时允许像这样的输入

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

这里的理性是什么?

4

1 回答 1

2

<p,<p><script>

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

<%script>或者<.script>

但这些没有。

并且验证正在尝试停止跨站点脚本,例如。提交包含以下内容的字段:

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

(真正的恶意除外)并且当您只是将该文本写回用户而没有仔细正确编码时,用户刚刚将代码注入您的网站。

于 2015-08-11T12:36:23.693 回答