15.8. 配置仅限 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 部分中,作为单点登录属性。
15.8.1. 为 Servlet 容器会话 Cookie 配置仅主机 复制链接链接已复制到粘贴板!
此流程解释了如何在 undertow 子系统中为 servlet 容器会话 Cookie 配置 http-only 属性。
先决条件
- 您可以访问管理 CLI。
- 有修改服务器配置的权限。
流程
将会话 Cookie 设置添加到 servlet 容器。
Run the following command:
Run the following command:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ---- /subsystem=undertow/servlet-container=default/setting=session-cookie:add ----
---- /subsystem=undertow/servlet-container=default/setting=session-cookie:add ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
http-only属性设置为true。Run the following command:
Run the following command:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ---- /subsystem=undertow/servlet-container=default/setting=session-cookie:write-attribute(name=http-only,value=true) ----
---- /subsystem=undertow/servlet-container=default/setting=session-cookie:write-attribute(name=http-only,value=true) ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载服务器,使更改生效。
---- reload ----
---- reload ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.8.2. 为主机单点登录配置 http-only 复制链接链接已复制到粘贴板!
此流程解释了如何在 undertow 子系统中为主机单点登录配置 http-only 属性。
先决条件
- 您可以访问管理 CLI。
- 有修改服务器配置的权限。
流程
将单点登录设置添加到主机。
Run the following command:
Run the following command:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ---- /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:add ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
http-only属性设置为true。Run the following command:
Run the following command:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ---- /subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:write-attribute(name=http-only,value=true) ----
---- /subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:write-attribute(name=http-only,value=true) ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载服务器,使更改生效。
---- reload ----
---- reload ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow