CSRF-Prevention: 没有来源和引用 header - 如何处理?

CSRF-Prevention: No origin and referer header - how handle?

我正在尝试通过在接受或阻止来自客户端的请求之前检查来源和引用 header 服务器端来增强我的 CSRF-prevention。

在 owasp.org 引用 this 站点 应该阻止所有既不包含来源也不包含引荐来源网址的请求 header:

What to do when Both Origin and Referer Aren't Present

If neither of these headers is present, which should be VERY rare, you can either accept or block the request. We recommend blocking, (...)

但是...当我现在打开一个新选项卡并尝试首次加载我的页面时,我的请求没有来源或引用 header,因此我的第一个请求被阻止了。

问:这些案件应该如何处理?还是我误解了什么?

注意:我用的是CSRF-token-protection,本题只是header检查

我不确定我是否正确理解了你的问题,但是当你第一次加载你的页面时,应该没有 state-changing 请求。因此,应该允许该请求。

您的过滤器应首先检查请求是否为 state-changing(放置、删除等),然后检查是否合适 headers 如果是。