【发布时间】:2017-03-08 22:48:37
【问题描述】:
我们在 Azure 中托管的网站的错误日志中显示随机“防伪 cookie 令牌和表单字段令牌不匹配”错误。在意识到我们需要一个静态机器密钥后,我们在 web.config 中添加了validationKey 和decryptionKey 属性,但是仍然会弹出随机错误。
只是为了在这里定义我对“随机”的使用,在每约 200-300 份表单提交中,这种情况会发生一两次。感觉发生的事情太多了,这对信任我们服务的客户来说是一种真正的干扰。
我想到的另一个想法是这是否发生在没有启用 cookie 的机器上。我无法以一种或另一种方式验证,但我不知道 Cookie 是否是 ValidateAntiForgeryToken 工作的必要条件。如果确实需要 cookie,那么我们是否应该向我们的用户弹出一条消息,让他们知道正确使用 cookie 是必需的?
我可以利用帮助想出诊断此问题的方法或其他有关如何处理此问题的想法。
提前谢谢你。
[更新] 我刚从一个用户那里听到我看到这个错误弹出窗口。事实证明,他们加载了页面并离开了一段时间导致错误。这是个好消息,因为这意味着验证只是在做它的工作,并没有发生任何疯狂的事情......我只需要验证该数据点是否指示其他用户。因此,鉴于此,你们都如何处理令牌过期的情况?您是否以某种干净的方式通知用户?
【问题讨论】:
-
是否有人试图提交恶意表单数据,即令牌是否有效?
-
真的,谁知道呢。如果没有娱乐步骤,可能有很多原因
-
这些是合法尝试使用我们服务的真实用户,因此我看不出他们提交恶意表单数据的理由。还有其他形式的恶意数据,例如使用 Html 或脚本标签,但会产生不同类型的错误。
-
至于复制步骤,这是所有这些中最难的部分,因为我们自己无法复制它。这只是一个奇怪的场景。
标签: asp.net-mvc azure antiforgerytoken