防伪cookie令牌在不存在的页面上不匹配

时间:2019-01-04 03:23:29

标签: ajax asp.net-mvc antiforgerytoken

我在尝试了解如何处理AntiForgeryToken时遇到问题。

我有一个张贴到控制器的表格。 该表单包含@Html.AntiForgeryToken()标签,而我的控制器具有[ValidateHeaderAntiForgeryToken]属性。一切正常,除非我尝试从不存在的页面发布。

在这个特定的项目中,每当用户尝试访问一个不存在的页面时,用户仍然会转到该页面的url,但它会显示404页面内容和404状态代码。

这是我遇到的问题->所有页面(包括404页面本身)均正常运行,并且控制器正确验证了防伪令牌。但是,如果用户转到一个不存在的页面,则令牌不匹配,并且我收到以下消息:

The anti-forgery cookie token and form field token do not match.

我可以看到2个选项: 1-从这些页面中删除表格; 2-通过删除属性来跳过验证,并在存在页面时调用AntiForgery.Validate()。当我进入这些页面之一时,基本上删除验证。 -安全性问题,因此不热衷于此。

还有其他建议吗?我想念什么吗?

0 个答案:

没有答案