12

使用 ASP.net MVC v2.0,有什么方法可以更改__RequestVerificationTokencookie 的名称?为了隐藏我们的底层技术堆栈,我想将 cookie 重命名为无法追溯到 ASP.Net MVC 的东西。

更多信息请访问Steve Sanderson 的博客

4

2 回答 2

32

AntiForgeryConfig.CookieNameASP.NET MVC 3 和 4 允许您通过设置静态属性来更改 cookie 名称。(此处为Msdn参考)

我知道这个问题专门询问了 ASP.NET MVC 2,但是对于“ASP.NET MVC AntiForgeryToken cookie name”等适当的查询,这个问题仍然在搜索引擎排名中居高不下。我想我会在这里添加信息,以免其他人像我一样反编译 ASP.NET MVC 3+ 源代码。

于 2013-03-05T15:56:29.073 回答
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 帮助程序和防伪令牌。但是在这样做时,您总是可以引入自己的错误...

于 2010-08-06T09:13:40.930 回答