17.12. 配置仅 HTTP 会话管理 Cookies

会话管理 Cookie 可通过 HTTP API 和非 HTTP API(如 JavaScript)访问。JBoss EAP 提供了将 HttpOnly 标头作为 Set-Cookie 响应标题的一部分发送至客户端的功能,通常是浏览器。在支持的浏览器中,启用此标头会告知浏览器,它应该阻止通过非 HTTP API 访问会话管理 Cookie。将会话管理 Cookie 限制为仅 HTTP API 有助于缓解会话 Cookie 失窃的风险。若要启用此行为,http-only 属性应设为 true

重要

使用 HttpOnly 标头本身不会防止跨站点脚本攻击,而是仅通知浏览器。浏览器还必须支持 HttpOnly 才能影响此行为。

重要

使用 http-only 属性仅将限制应用到会话管理 Cookie,而非其他浏览器 Cookie。

http-only 属性在 undertow 子系统的两个位置中设置:

  • 在 servlet 容器中作为会话 Cookie 设置
  • 在服务器的主机部分中作为单点登录属性

为 servlet 容器会话 Cookie 配置 只主机 属性:

/subsystem=undertow/servlet-container=default/setting=session-cookie:add
/subsystem=undertow/servlet-container=default/setting=session-cookie:write-attribute(name=http-only,value=true)
reload

主机单点 登录配置只主机

主机单点登录 配置只主机属性:

/subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:add
/subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:write-attribute(name=http-only,value=true)
reload