我们实施了OWASP的CSRFGuard来保护我们在Web应用程序中的页面。例如* / myCsrfProtected.jsp。我们在应用程序中出现的所有* / myCsrfProtected.jsp中都注入了CSRF令牌。一切正常。
但是,我们还有其他用例,其中指向此受保护页面的链接将通过电子邮件发送给用户。想一想报告的链接。现在,当用户点击此链接时,令牌丢失或无效,因此CSRFGuard过滤器会阻止请求,假设这是CSRF攻击。 (这是为什么过滤器实现的:-))
是否有任何方法可以处理此用例并允许从应用程序外部访问受CSRF保护的页面。
答案 0 :(得分:1)
理想情况下,只需对POST请求执行CSRF令牌检查。 GET请求应该是幂等的((对服务器没有副作用,只返回一些数据,不代表用户执行任何事务)。
如果您只想在用户点击链接时返回报告,则可能不需要执行csrf检查。您可能仍希望确保用户已获得授权。您应该能够通过CSRF检查此请求