我有一个带有典型 xss 保护的 asp.net mvc 2 项目<%=Html.AntiForgeryToken() %>
在每个表格内和 [ValidateAntiForgeryToken]
在每个 Post 操作上。
这在 Chrome、Firefox 和 IE 中按预期工作。
但是我在 Safari (v 5.1.7) 中收到以下错误。
System.Web.Mvc.HttpAntiForgeryException: A required anti-forgery token was not supplied or was invalid.
我看到异常的原因是
RequestValidationToken
创建的 cookie 的失效日期不正确 Mon, 01 Jan 2001
,而在其他浏览器中正确设置为 Session
.如何让 Safari 停止为我的 Anti-Forgery cookie 分配虚假的到期日期?
最佳答案
我通过从 IIS 中的身份验证提供程序列表中删除“协商”解决了这个问题。
与 safari 的这个问题类似:
Windows Authentication issue with Safari 5.x in Windows 7
关于asp.net-mvc - 所需的防伪 token 未提供或无效 - 仅限 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834036/