使用HTTP协议缺少会话标识符的HttpOnly属性

时间:2016-12-27 09:51:27

标签: java servlets session-cookies httponly cookie-httponly

早些时候,我正在为HTTP / HTTPS协议获取HttpOnly,但缺少安全属性。

为了添加“Secure”属性,我在server.xml的Connector端口语法中添加了secure =“true”,如下所示 -

<Connector address="10.23.17.69" port="8000" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="60000" disableUploadTimeout="true" URIEncoding="UTF-8"  server="Dev" secure="true" />

还在web.xml中添加了“cookie-config”,如下所示 -

<session-config>
    <session-timeout>120</session-timeout>
    <cookie-config>
        <secure>true</secure>
        <http-only>true</http-only>
    </cookie-config>
</session-config>

现在对于HTTPS协议,我对Session cookie的'Secure'和'HttpOnly'标志为true,如下所示。

但对于HTTP协议,我没有得到HttpOnly属性。在HTTP协议的情况下,我需要“HttpOnly = true”。

请注意,我的context.xml的“Context”元素已包含useHttpOnly属性,如下所示 -

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

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

阅读本文article我认为你错误地设置了会话cookie属性。

应该是:

<Context cookies="true" crossContext="true">
  <SessionCookie secure="true" httpOnly="true" />