使用ASP.net MVC v2.0,有什么方法可以更改__RequestVerificationToken
cookie的名称?为了隐藏我们的底层技术堆栈,我想将cookie重命名为无法追溯到ASP.Net MVC的东西。
有关Steve Sanderson's blog的更多信息。
答案 0 :(得分:25)
ASP.NET MVC 3和4允许您通过设置静态AntiForgeryConfig.CookieName
属性来更改cookie名称。
(Msdn参考here)
我知道这个问题专门询问了ASP.NET MVC 2,但是这个问题仍然在搜索引擎排名上高回合适当的查询,例如“ASP.NET MVC AntiForgeryToken cookie name”。我以为我会在这里添加信息以保存其他人像我一样反编译ASP.NET MVC 3+源代码。
答案 1 :(得分:3)
查看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助手和防伪令牌。但是在这样做的时候你总是会引入自己的错误......