asp.net-mvc-4 – 如何获取没有隐藏输入的AntiForgeryToken值
|
@ Html.AntiForgeryToken()
<input name="__RequestVerificationToken" type="hidden" value="GuiNIwhIJZjINHhuS_8FenaFDXIiaE" /> 如何才能获取令牌值? public static IHtmlString AntiForgeryTokenValue(this HtmlHelper htmlHelper) {
var field = htmlHelper.AntiForgeryToken().ToHtmlString();
var beginIndex = field.IndexOf("value="") + 7;
var endIndex = field.IndexOf(""",beginIndex);
return new HtmlString(field.Substring(beginIndex,endIndex - beginIndex));
}
解决方法MVC的反CSRF功能实际上取决于两个令牌:一个是隐藏的表单元素,另一个是cookie。所以Html.AntiForgeryToken()帮助器不只是返回一个HTML片段。它也有一个副作用设置这个cookie。请注意,cookie值和表单值不相等,因为它们各自编码不同的信息。如果您使用AntiForgery.GetTokens API,则此方法将返回原始令牌,而不是生成HTML代码段。该方法的参数有: > oldCookieToken:如果请求已经包含反CSRF cookie令牌,请在此处提供。此参数可能为null。 如果您使用此API手动生成cookie和表单令牌,则需要调用AntiForgery.Validate的the corresponding overload才能验证令牌。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何从HTTP请求获取MAC地址?
- asp.net – 获取客户端隐藏字段的值
- asp.net+ajaxfileupload.js 实现文件异步上传代码分享
- asp.net – 在我的网站中添加HttpModule时出现“500内部服务
- asp.net-mvc-3 – Html.Action – 获取与发布
- asp.net-mvc – asp.net mvc博客引擎
- 如何在ASP.net中取消事件冒泡?
- asp.net-mvc – 我应该在Web应用程序中记录哪些信息?
- asp.net-mvc-3 – 基于字符串创建ViewBag属性
- asp.net-mvc – 偶尔__RequestVerificationToken错误
- asp.net-mvc – ASP.Net MVC中的自我AJAX更新部分
- ASP.NET MVC – 使用模型中的布尔值禁用Html帮助
- asp.net-mvc – MVC 4 SimpleMembership – 登录
- asp.net url分页类代码
- asp.net – 使用NuGet发布可执行文件和网站
- CookieAuthenticationOptions,ExpireTimeSpan不起
- asp.net – 在同一站点上使用基本身份验证和表单
- asp.net – 模型项的类型为CookMeIndexViewModel
- asp.net-mvc-2 – MVC的DataAnnotationsModelMet
- 白屏问题,如果用户在asp.net页面中保持空闲状态
