1

asp.net MVC 中的@Html.AntiForgeryToken() 生成一个像这样的隐藏文本框

<input name="__RequestVerificationToken" type="hidden" value="9VYEYXQIIGVOBcPluxTIWOHeYoRlklCBh7RztWXJUWxFbPwIok2rVpeS_i1jfxdB1_n16BCV5qH9VsBhkMdZB1Ukb5g1" />

有没有办法重命名__RequestVerificationToken?

我想将它重命名为无法追溯到 ASP.Net MVC 的东西

4

1 回答 1

0

当然。我建议您为 Html 帮助程序 ( ) 创建一个扩展方法this HtmlHelper,该方法具有相同的名称,只需一个适当的重载,您就可以指定您的自定义 ID。(请注意已经存在几个重载,因此将其重命名为“AntiForgeryTokenCustom(string id)”之类的名称可能是最佳选择。

然后在此扩展方法中,您只需调用 AntiForgeryToken 拦截其 html,并修改 id。

但问题是你为什么喜欢它?您是否打算对此令牌进行自定义验证?这个“防伪”令牌基础设施需要这个 id 名称......

编辑:如果您想自定义帮助程序,您还可以自定义处理令牌的操作过滤器。默认操作文件管理器是[ValidateAntiForgeryToken]您必须覆盖它。您可以在此处找到一些提示:http: //haacked.com/archive/2011/10/10/preventing-csrf-with-ajax.aspx

于 2013-03-07T06:45:54.420 回答