Java “如何修复”;不带httpOnly的Cookie集;GWT中的安全问题

Java “如何修复”;不带httpOnly的Cookie集;GWT中的安全问题,java,security,cookies,tomcat7,smartgwt,Java,Security,Cookies,Tomcat7,Smartgwt,我们已经使用Java和GWT开发了一个web应用程序,现在我们正在解决以下问题: 安全问题: X帧选项: X-XSS-保护: 曲奇: HttpOnly和Secure 从以上3个问题中,我们可以修复前2个问题,但无法修复第三个问题,因为我们正在访问由服务器在客户端创建的cookie,该cookie是用GWT(javascript)开发的。所以我们认为,它不能为我们的应用程序修复,也不能被忽略,因为我们修复了“X-Frame-Options”,它不允许javascript注入我们的网站 请就我们的上

我们已经使用Java和GWT开发了一个web应用程序,现在我们正在解决以下问题:

安全问题:

  • X帧选项:
  • X-XSS-保护:
  • 曲奇:

  • HttpOnly和Secure
  • 从以上3个问题中,我们可以修复前2个问题,但无法修复第三个问题,因为我们正在访问由服务器在客户端创建的cookie,该cookie是用GWT(javascript)开发的。所以我们认为,它不能为我们的应用程序修复,也不能被忽略,因为我们修复了“X-Frame-Options”,它不允许javascript注入我们的网站

    请就我们的上述问题给我一些建议

    HttpOnly和Secure

    您可以在cookie上设置,并且仍然可以通过JavaScript访问它们。请注意,使用GWT的整个应用程序都需要通过https访问才能正常工作

    如果应用程序要求通过JavaScript读取所有cookie,则无法设置该标志。请注意,这仅对会话或身份验证cookie很重要-如果可以将这些cookie设置为仅http,而将您的其他cookie设置为不带标志,那么这就是解决方法


    请注意,X-Frame-Options并没有提供比正常情况更多的保护来防止JavaScript注入到您的网站中。这是标准的。X-Frame-Options只会阻止您的站点加载到框架集或IFrame中以减轻影响。

    GWT
    Cookies。setCookie
    方法不支持
    HttpOnly
    。如果愿意,您可以创建自己的
    setCookie
    方法来设置它。但是,如果这样做,您将无法从JavaScript读取cookie

    我需要将cookie值
    SameSite
    设置为
    Lax
    ,因此创建了以下方法:

    public static native void setCookie(String name, String value, double expires, boolean secure) /*-{
        var c = name + '=' + value;
        if (expires)
            c += ';expires=' + (new Date(expires)).toGMTString();
        if (secure)
            c += ';secure;SameSite=Lax';
        $doc.cookie = c;
    }-*/;
    

    轻松点!:)

    什么是应用服务器?我们正在使用apache tomcat-7(.0.63)Check和@KarthikeyanVaithilingam,感谢您的链接,因为我们在客户端使用gwt,我们无法在tomcat级别完成所有工作。@M.S.Naidu:请分享您是如何解决所有这些安全问题的。我的一个应用程序使用JBoss5中部署的smartgwt开发,面临着完全相同的问题。