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 配置 仅限主机
为 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