5

我有一个带有典型 xss 保护的 asp.net mvc 2 项目

<%=Html.AntiForgeryToken() %>在每个表单内和[ValidateAntiForgeryToken]每个 Post 操作上。

这在 Chrome、Firefox 和 IE 中按预期工作。

但我在 Safari (v 5.1.7) 中收到以下错误。

System.Web.Mvc.HttpAntiForgeryException:未提供所需的防伪令牌或无效。

我看到异常的原因RequestValidationToken是创建的 cookie 的过期日期不正确Mon, 01 Jan 2001,而在其他浏览器中正确设置为Session.

如何让 Safari 停止为我的 Anti-Forgery cookie 分配虚假的到期日期?

4

1 回答 1

1

我通过从 IIS 的身份验证提供程序列表中删除“协商”解决了这个问题。

与 safari 的此问题类似:

Windows 7 中 Safari 5.x 的 Windows 身份验证问题

于 2013-04-19T01:58:16.443 回答