0

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

为了添加“安全”属性,我在 server.xml 的连接器端口语法中添加了 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”,如下所示 -</p>

<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 的“上下文”元素已经包含 useHttpOnly 属性,如下所示 -

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

任何建议都非常感谢。

4

1 回答 1

0

阅读这篇文章我认为您错误地设置了会话 cookie 属性。

它应该是:

<Context cookies="true" crossContext="true">
  <SessionCookie secure="true" httpOnly="true" />
于 2017-11-16T05:39:05.890 回答