自动转义Asp.Net MVC

时间:2009-08-22 15:38:18

标签: asp.net asp.net-mvc escaping

在Asp.net Mvc应用程序中,默认情况下,所有字符串输出都是非转义的,要么你还记得使用HTTPUtility来逃避所有事情,要么你自己打开XSS攻击。

现在我是一个健忘的家伙,所以我正在寻找一种解决方案,帮助我“不要忘记”为我逃避所有的绳索。

任何人都可以分享他们使用的任何技术,以便更容易地逃避所有Asp.net MVC输出吗?

2 个答案:

答案 0 :(得分:2)

jfar,你想要的绝对可能,请看这篇优秀的博客文章:

http://blog.codeville.net/2007/12/19/aspnet-mvc-prevent-xss-with-automatic-html-encoding/

Steve Sanderson 逐步解释如何更改“<%= ....>”行为,从CSharpCodeProvider类重写GenerateCodeFromStatement()方法,这是一件很酷的事情。清理了很多HttpUtility.HtmlEncode调用,并且与asp.net mvc一起运行良好。

答案 1 :(得分:0)

我认为你会发现很多东西都没有“内置”给MVC,因为它是它的核心价值之一:它足够灵活,可以给你很多控制,因此它希望你自己做一些事情。

但是,请查看MVCContrib,特别是FluentHtml;我相信它默认为你编码。