从客户端检测到潜在危险的 Request.Form 值
我知道我可以使用 validateRequest="false"
来绕过 ASP.NET 安全性。我想知道设置此标志可能会导致哪些安全问题。只要我使用 XSS 库对输入进行编码,我能否 100% 确定不会出现任何问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
据我了解,此验证仅防止“<”和“>”字符,因此您受到保护,例如有人将 ;在你的博客文章评论中...
As I understand, this validation protects only from '<' and '>' characters, and therefore you are protected form e.g. someone putting <script> alert('f word')</script> in your blog post comment...
我必须在一些应用程序中关闭它(如上所述),只要您 - 如何:防止交叉 - ASP.NET 中的站点脚本。
另一方面如果您是使用 MVC3,您可以更精细地禁用请求验证
I had to turn it off in a few applications and (as mentioned) as long as you do encode your output you should be fine. And request validation should not be your only weapon for XSS prevention - How To: Prevent Cross-Site Scripting in ASP.NET.
On the other hand if you are using MVC3 you can disable request validation at a more granular level
只要您对生成的 HTML 页面中显示的数据进行正确编码,您就非常安全。
As long as you properly encode data displayed in the resulting HTML page you are pretty safe.