asp.net-mvc – 为什么@ Html.AntiForgeryToken()在同一个响应中
发布时间:2020-12-16 00:06:32 所属栏目:asp.Net 来源:网络整理
导读:单个Razor视图包含多个表单,每个表单都有自己对@ Html.AntiForgeryToken()的调用 form id="f1" @Html.AntiForgeryToken()/formform id="f2" @Html.AntiForgeryToken()/form 据我了解,这两种防伪标记应该是相同的. form id="f1" input name="__RequestVerific
单个Razor视图包含多个表单,每个表单都有自己对@ Html.AntiForgeryToken()的调用
<form id="f1"> @Html.AntiForgeryToken() </form> <form id="f2"> @Html.AntiForgeryToken() </form> 据我了解,这两种防伪标记应该是相同的. <form id="f1"> <input name="__RequestVerificationToken" type="hidden" value="duVT4VtiYybun-61lnSY1ol__qBwawnELooyqT5OSrCJrvcHvDs_Nr9GLxNxwvBaI4hUcKZVkm6mDEmH2UqNorHD1FnJbKJQLWe8Su_dhy_nnGGl5GhqqC3yRGzcxbBM0" /> </form> <form id="f2"> <input name="__RequestVerificationToken" type="hidden" value="ZMISz3IWHU_HCKP4FppDQ5lvzoYhlQGhN1cmzKBPz4OgDzyqSUK3Q1dqvw1uHsb4eNyd9U3AbFcnW8tR7g1QS8Dyhp0tFc-ee1sfDAOqbLCcgd3PDnLCbXx09pnPREaq0" /> </form> 为什么价值不同? 当然它们应该是相同的,因为它们是从服务器发送的相同响应中的? 解决方法
Anti-Forgery令牌不会直接进行比较 – 服务器必须先取消保护它并比较内部的受保护数据.拥有不同的受保护令牌并不一定意味着它们包含不同的数据.
System.Web.Helpers.AntiXsrf.TokenValidator比较的是解密的AntiForgeryToken实例中的SecurityToken.但是,这些实例还包含AdditionalData字段,UserName字段和ClaimUid字段. 此外,AntiForgeryToken中的SecurityToken直接从AntiForgeryWorker中的(当前有效,否则是新生成的)AntiForgery cookie中复制. 鉴于所有数据都是序列化,加密然后编码,由于令牌之间的AdditionalData之间存在差异,因此受保护令牌可能存在差异,或者可能是由于加密过程中使用的伪随机数(由于我可能使用)可以测试2个完全不同的令牌对同一个cookie有效). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP MVC C#:是否可以将动态值传递给属性?
- asp.net-mvc – ASP.NET MVC流畅的nNibernate,IoC工具是什么
- asp.net-mvc – 在.Net MVC WS-Federation站点中阻止XmlHtt
- asp.net-mvc-3 – MVC3 – 无法通过其他操作将int []传递给
- asp.net-mvc – 获取文件内容的绝对路径
- asp.net-mvc – 如何将401认证错误返回给RestSharp客户端?
- 在asp.net后面的代码中创建javaScript变量
- asp.net-mvc – Web API返回csv文件
- 在razorview中显示checkboxfor的文本
- 有没有相当于PrimeFaces for ASP.NET的东西?
推荐文章
站长推荐
- asp.net – 多个客户端应该有一个项目副本,还是每
- 模型 – 视图 – 控制器 – MVC控制器索引有时40
- asp.net-mvc – ASP.NET MVC Razor – 所有表单字
- ASP.NET MVC中的asp.net-mvc – 文件大小上传限制
- asp.net – 尝试为.mdf文件附加自动命名的数据库
- asp-classic – ConnectionTimeout无效
- asp.net-mvc – 使用MVC和WebAPI避免使用Resharp
- asp.net 文件上传实例汇总
- .net – 如何获取客户端DotNetOpenAuth.OAuth2返
- Mvc项目架构分享之项目扩展 架构搭建
热点阅读