有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Javaservlet中实现CSRF引用检查

我想使用防止CSRF的最简单方法,即根据OWASP的CSRF Prevention Cheat Sheet - Checking Referer Header检查referer头。在Javaservlet中实现这一点的正确方法是什么?你喜欢这个工作吗

    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);

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


共 (0) 个答案