如何在java servlet中实现CSRF引用检查

时间:2015-11-28 20:48:12

标签: java servlets csrf owasp referer

我想使用最简单的防范CSRF的方法,即根据OWASP的CSRF Prevention Cheat Sheet - Checking Referer Header检查引用标头。在java servlet中实现它的正确方法是什么?这样的事情会起作用吗?

    String requestUrl = request.getRequestURL().toString();
    // we expect the referer to "start with" at least up to the hostname of the current request url
    String expectedRefererStartsWith = request.getRequestURL().substring(0, requestUrl.indexOf('/', 9));
    String referer = request.getHeader("referer");

    return referer != null && referer.startsWith(expectedRefererStartsWith);

请注意,我意识到引用检查不是CSRF最简单的方法(如果浏览器或网络设备阻止引用标头,可能会导致问题),但对于这个特定的应用程序,它会没问题。

0 个答案:

没有答案