【发布时间】:2015-02-07 09:08:53
【问题描述】:
我在 azure 上有一个 MVC Web 应用程序,每天有几百次,我在未处理的异常日志中收到 The required anti-forgery cookie "__RequestVerificationToken" is not present.。
我已经正确设置了一切,我的操作方法有[ValidateAntiForgeryToken]。
通过查看异常详细信息可以看出,令牌存在于表单中,但 cookie 不存在。
有人知道是什么原因造成的吗?
这是完整的错误。
System.Web.Mvc.HttpAntiForgeryException (0x80004005): The required anti-forgery cookie "__RequestVerificationToken" is not present.
at System.Web.Helpers.AntiXsrf.TokenValidator.ValidateTokens(HttpContextBase httpContext, IIdentity identity, AntiForgeryToken sessionToken, AntiForgeryToken fieldToken)
at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext)
at System.Web.Helpers.AntiForgery.Validate()
【问题讨论】:
-
马特,你找到解决这个问题的方法了吗?我偶尔也会遇到这些错误。
-
@MarkA - 可能是一些网络爬虫/机器人?使用导致此异常的 IP 进行反向 DNS 查找可能会帮助您找到原因。
-
没有。这不是爬虫。它发生在一些最常访问的页面上,这些页面只有经过身份验证的用户才能访问。
-
这是来自
<form>提交操作,还是来自 Ajax 请求(以及您使用哪个库),或两者兼而有之? -
@PeterB 在我的情况下来自
<form>提交操作。
标签: asp.net-mvc azure cookies