Skip to main content
 首页 » 编程设计

cookies之Tomcat 7 sessionid cookie 禁用 http-only 和安全

2024年10月25日33sharpest

我有一个在 Tomcat 7 服务器上运行的 Web 应用程序。默认情况下,带有 session ID 的 cookie 具有标志 HttpOnlySecure .我想为 JSESSIONID 禁用此标志曲奇饼。但它不会工作。我已经在我的 web.xml 中更改了它文件,但它不起作用。

<session-config> 
    <session-timeout>20160</session-timeout> 
    <cookie-config> 
        <http-only>false</http-only> 
        <secure>false</secure> 
    </cookie-config> 
</session-config> 

我知道这是一个安全风险,因为如果攻击者发现了 xss 漏洞,他就能够窃取 cookie 并劫持 session 。
JSESSIONID cookie 应该使用 HTTP 和 HTTPS 以及 AJAX 请求发送。

编辑:

我已成功禁用 HttpOnly通过将以下选项添加到 conf/context.xml 来标记文件:

<Context useHttpOnly="false"> 
.... 
</Context> 

请您参考如下方法:

我没有在 Tomcat 中找到解决方案,但如果您使用 apache 作为反向代理,您可以执行以下操作:

Header edit* Set-Cookie "(JSESSIONID=.*)(; Secure)" "$1" 

mod_headers这将在返回途中删除标题以删除安全标志。不漂亮,但如果这很重要的话就可以工作。