Apache HTTP Server 版本 2.4
描述 | 基于 Cookie 的会话支持 |
---|---|
状态 | 扩展 |
模块标识符 | session_cookie_module |
源文件 | mod_session_cookie.c |
兼容性 | 在 Apache 2.3 及更高版本中可用 |
会话模块使用 HTTP Cookie,因此可能成为跨站点脚本攻击的受害者,或将潜在的私密信息暴露给客户端。在服务器上启用会话功能之前,请确保已考虑相关风险。
此 mod_session
的子模块提供对在 HTTP Cookie 中的远程浏览器上存储用户会话的支持。
使用 Cookie 存储会话消除了服务器或一组服务器在本地存储会话或协作共享会话的需要,并且对于高流量环境非常有用,在高流量环境中,基于服务器的会话可能过于资源密集。
如果需要会话隐私,则可以使用 mod_session_crypto
模块在将会话写入客户端之前加密会话内容。
有关会话接口的更多详细信息,请参阅 mod_session
模块的文档。
要创建一个简单的会话并将其存储在名为 session 的 Cookie 中,请按如下方式配置会话
Session On SessionCookieName session path=/
有关如何配置会话以供 CGI 应用程序读取和写入的更多示例,请参阅 mod_session
示例部分。
有关如何使用会话存储用户名和密码详细信息的文档,请参阅 mod_auth_form
模块。
描述 | 存储会话的 RFC2109 Cookie 的名称和属性 |
---|---|
语法 | SessionCookieName name attributes |
默认值 | 无 |
上下文 | 服务器配置、虚拟主机、目录、.htaccess |
状态 | 扩展 |
模块 | mod_session_cookie |
SessionCookieName
指令指定存储会话的符合 RFC2109 的 Cookie 的名称和可选属性。RFC2109 Cookie 使用 Set-Cookie
HTTP 标头设置。
可以指定可选的 Cookie 属性列表,如下面的示例所示。这些属性按原样插入 Cookie 中,并且不会被 Apache 解释。请确保您的属性根据 Cookie 规范正确定义。
Session On SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
描述 | 存储会话的 RFC2965 Cookie 的名称和属性 |
---|---|
语法 | SessionCookieName2 name attributes |
默认值 | 无 |
上下文 | 服务器配置、虚拟主机、目录、.htaccess |
状态 | 扩展 |
模块 | mod_session_cookie |
SessionCookieName2
指令指定存储会话的符合 RFC2965 的 Cookie 的名称和可选属性。RFC2965 Cookie 使用 Set-Cookie2
HTTP 标头设置。
可以指定可选的 Cookie 属性列表,如下面的示例所示。这些属性按原样插入 Cookie 中,并且不会被 Apache 解释。请确保您的属性根据 Cookie 规范正确定义。
Session On SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
描述 | 控制是否应从传入的 HTTP 标头中删除会话 Cookie |
---|---|
语法 | SessionCookieRemove On|Off |
默认值 | SessionCookieRemove Off |
上下文 | 服务器配置、虚拟主机、目录、.htaccess |
状态 | 扩展 |
模块 | mod_session_cookie |
SessionCookieRemove
标志控制在请求处理期间是否从标头中删除包含会话的 Cookie。
在反向代理情况下,Apache 服务器充当后端源服务器的服务器前端,将会话 Cookie 的内容泄露给后端可能构成潜在的隐私侵犯。当设置为 on 时,会话 Cookie 将从传入的 HTTP 标头中删除。