CSRF Coo​​kie丢失 - 在MS Office中出现EventLog错误提示

时间:2017-12-11 18:11:25

标签: asp.net ms-office csrf kentico csrf-protection

Kentico 10在Windows Server上运行。 我在事件日志中每小时收到以下错误数十次: 缺少CSRF Coo​​kie。

错误仅发生在我的生产服务器上,而不是任何开发环境中,并且我无法找到自己手动重现它的方法(我只是在日志中看到它)。这让我相信它与生产站点的一些奇怪的传入流量有关(而不是我们的应用程序代码本身的问题)

此问题也很难找到,因为列出的事件网址始终显示为:/cmsmessages/error.aspx?aspxerrorpath=/cmspages/portaltemplate.aspx

我唯一的线索是所有用户代理都有某种形式的Microsoft Office或ExchangeService产品名称:

  • MacOutlook / 14.7.7.170905(Intel Mac OS X 10.9.5)
  • Mac OS X / 10.12.6(16G1036); ExchangeWebServices / 7.2(268); accountsd / 113(113)
  • Microsoft Office / 15.0(Windows NT 10.0; Microsoft Excel 15.0.4989; Pro)
  • Microsoft Office / 16.0(Windows NT 10.0; Microsoft Word 16.0.8625; Pro)

可能是一些奇怪的"受保护的视图"来自Office应用程序的浏览器加载页面并拒绝cookie?有关如何解决此错误的任何想法?

2 个答案:

答案 0 :(得分:0)

我以前见过这个 - 因为我记得它的外部消息来源在你的域名上找东西。通过您看到的代理商,我说它与交换/电子邮件有关(也许是人们打开您发送的电子邮件?)。

有人在此处描述了类似的问题:https://devnet.kentico.com/questions/csrf-attack-detected-on-live-site-when-using-smart-search

虽然不理想,但您可以使用应用程序设置键<add key="CMSEnableCsrfProtection" value="false" />禁用CSRF。

答案 1 :(得分:0)

查看正在记录的UA,这似乎与Microsoft's EWS API有关。看起来很奇怪,这些请求会打到你的Kentico网站,因为这是你不希望发生的事情。

Kentico的CSRF保护默认会阻止任何没有正确CSRF令牌的POST请求。禁用CSRF会使您的用户和网站产生风险,因此我强烈建议您将其启用。

如前所述,您应该检查IIS日志以获取有关这些请求的更多信息,主要是实际的请求URL。如果您仍然无法确定这些请求的来源并且不期望这些请求,我建议您设置一个规则来阻止它们。这可以使用WAF或IIS完成。