(这样做可以在Web应用程序中混淆ASP.NET MVC框架。)
在Application_Start中通过Helpers重命名了使用静态AntiForgeryConfig类的cookie名称。
Global.asax中:
AntiForgeryConfig.CookieName = "Test";
但由于输入名称,使用AntiForgeryToken仍然很明显:
前端:
<input name="__RequestVerificationToken" type="hidden" value="blahblahblah" />
可以说MVC带有编码的价值气味,但不确定该怎么做。 (不同的问题,但评论/其他方法无论如何欢迎和赞赏。)
答案 0 :(得分:7)
在检查CodePlex上的源代码后,似乎该值被硬编码为常量。所以没有简单的方法来改变这个价值。你可以在这里看到:http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.WebPages/Helpers/AntiForgeryConfig.cs
我很惊讶它不可配置。无论如何,似乎你想做的事情是不可能的。
但是,我建议您在Codeplex上创建一个功能请求,并希望他们能够实现它。
注意:如果您想要真正的硬核,您可以随时下载代码并进行修改,但这可能会给您带来的问题比解决的更多。
答案 1 :(得分:3)
this StackOverflow question的答案应该让你开始。
更改输入名称并非易事。 Html.AntiForgeryToken
助手和ValidationAntiforgeryToken
属性都依赖于输入名称“__RequestVerificationToken”。如果您希望它是其他东西,您需要使用AntiForgery API并创建自己的helper和属性版本,以根据您选择的名称进行验证。