使用ASP.net MVC v2.0,任何方式来更改__RequestVerificationToken
cookie的名称?为了隐藏我们的底层技术堆栈,我想将cookie重命名为无法追溯到ASP.Net MVC的东西。有没有方法重命名RequestVerificationToken cookie名称?
更多的信息在Steve Sanderson's blog。
使用ASP.net MVC v2.0,任何方式来更改__RequestVerificationToken
cookie的名称?为了隐藏我们的底层技术堆栈,我想将cookie重命名为无法追溯到ASP.Net MVC的东西。有没有方法重命名RequestVerificationToken cookie名称?
更多的信息在Steve Sanderson's blog。
看着MVC 2源代码我不认为有可能更改cookie名称。该AntiForgeryData类开始:
private const string AntiForgeryTokenFieldName = "__RequestVerificationToken";
,并得到它只是调用cookie名称:
string cookieName = AntiForgeryData.GetAntiForgeryTokenName(ViewContext.HttpContext.Request.ApplicationPath);
在HtmlHelper类
。它接受应用程序路径并将其转换为base 64并将其附加到__RequestVerificationToken的末尾,这是您在查看源代码时看到的结果。
如果您确实需要更改名称,我建议您从codeplex下载MVC 2源代码,并使用源代码作为参考,查看创建自己的html助手和反伪造令牌。但在这样做,你总是可以引入自己的错误...
ASP.NET MVC 3和4让你通过设置静态AntiForgeryConfig.CookieName
属性来更改cookie名称。我知道这个问题特别针对ASP.NET MVC 2问题,但是这个问题仍然会在搜索引擎排名上为诸如“ASP.NET MVC AntiForgeryToken cookie名称”之类的合适查询返回高位。我想我会在这里添加信息来保存其他人像我一样反编译ASP.NET MVC 3+源代码。
不幸的是,没有改变隐藏输入名称__RequestVerificationToken的等价物。 – 2013-07-11 18:26:44
感谢您提供这样的详细分析。我想我只是坚持使用默认名称,而不是热衷于维护更多的源代码。也许我会向MVC团队提出这个请求。 – 2010-08-06 14:47:49