15.12. 配置仅 HTTP 的会话管理 Cookie
会话管理 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 设置
- 在服务器的 host 部分中作为单点登录属性
为 Servlet 容器会话 Cookie 配置 仅主机
为 servlet 容器会话 Cookie 配置 host-only
属性:
/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
为主机单点登录
配置主机
为主机单点登录配置 host-only
属性:
/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