7

(这样做是为了混淆 Web 应用程序中的 ASP.NET MVC 框架。)

已通过 Application_Start 中的 Helpers 使用静态 AntiForgeryConfig 类重命名 cookie 名称。

全球.asax

AntiForgeryConfig.CookieName = "Test";

但是由于输入名称,AntiForgeryToken 仍然很明显被使用:

前端

<input name="__RequestVerificationToken" type="hidden" value="blahblahblah" />

可以说,带有编码的 MVC 的价值闻起来了,但不确定该怎么做。(确实是不同的问题,但无论如何都欢迎和赞赏评论/其他方法。)

4

2 回答 2

7

检查 CodePlex 上的源代码后,该值似乎被硬编码为常量。所以没有简单的方法来改变这个值。你可以在这里看到这个:http: //aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.WebPages/Helpers/AntiForgeryConfig.cs

我很惊讶它是不可配置的。无论如何,您想要做的似乎是不可能的。

但是,我建议您在 Codeplex 上创建一个功能请求,并希望他们会实施它。

注意:如果你想要真正的硬核,你总是可以下载代码并进行修改,但这可能会给你带来比它解决的更多的问题。

于 2013-06-26T21:54:13.040 回答
3

这个 StackOverflow 问题的答案应该可以帮助您入门。

更改输入名称并非易事。Html.AntiForgeryToken帮助程序和属性都ValidationAntiforgeryToken依赖于输入名称“__RequestVerificationToken”。如果您希望它是别的东西,您将需要使用 AntiForgery API 并创建您自己的帮助程序和属性版本,以根据您选择的名称进行验证。

于 2013-06-26T21:44:37.887 回答