我应该在 ASP.NET MVC 中使用 Anti-XSS 安全运行时引擎吗?
我一直在阅读 Anti-XSS 安全运行时引擎,它看起来是一个很好的 Web 表单解决方案,因为它通过反射检查控件并在适当的情况下自动编码数据。 然而,由于我并没有真正在 ASP.NET MVC 中使用服务器端控件,因此它似乎不是 ASP.NET MVC 的可行解决方案。 这是正确的还是我错过了什么?
I have been reading up on Anti-XSS Security Runtime Engine and it looks like a nice solution for web forms because it inspects controls via reflection and automatically encodes data where appropriate. However as I don't really use server side controls in ASP.NET MVC, it does not seem to be a viable solution for ASP.NET MVC. Is this correct or am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Anti-XSS 安全运行时引擎是一个 HTTP 模块,主要围绕更新旧版 ASP.NET 应用程序而设计。 如果您已经使用内置的 HTML 帮助程序(即 Html.Encode())编写了具有适当数据清理功能的 ASP.NET MVC 应用程序,那么 Anti-XSS 引擎不会添加任何新内容,并且需要额外的配置(对于必要的白-列表)和错误检查。
总而言之,您不应该依赖 Anti-XSS 引擎,尤其是当您依赖于对输入何时呈现为 HTML 以及不呈现为 HTML 的显式控制时。
The Anti-XSS Security Runtime Engine is an HTTP Module primarily designed around updating legacy ASP.NET applications. If you've already written the ASP.NET MVC application with proper data cleansing with the built in HTML Helpers (i.e. Html.Encode()), then the Anti-XSS Engine adds nothing new, and requires additional configuration (for necessary white-lists) and error checking.
All in all, you should not rely on the Anti-XSS Engine, especially if you rely on explicit control of when input is and is not rendered as HTML.
Phil Haack 在这里发表了一篇有趣的博客文章 http: //haacked.com/archive/2009/02/07/take-charge-of-your-security.aspx。 他建议将 Anti-XSS 与 CAT.NET 结合使用。
Phil Haack has an interesting blog post here http://haacked.com/archive/2009/02/07/take-charge-of-your-security.aspx. He suggests using Anti-XSS combined with CAT.NET.