如何配置Apache删除值为LOGGEDOFF的XSESSION Cookie?
要实现当请求中XSESSION Cookie的值为LOGGEDOFF时,让浏览器失效该Cookie,其他值保持不变,你之前的指令存在两个问题:
Header unset Cookie是删除请求头里的Cookie信息,不会让浏览器删除Cookie,还会清空所有Cookie,不符合需求SetCookie并非Apache标准模块的指令,且缺少失效Cookie必需的过期参数
正确的配置方式是通过匹配请求Cookie→设置环境变量→在响应中添加失效Cookie的头来实现,在httpd.conf中添加以下配置:
# 匹配请求中包含XSESSION=LOGGEDOFF的Cookie,设置环境变量 SetEnvIf Cookie "XSESSION=LOGGEDOFF" INVALIDATE_XSESSION # 当环境变量存在时,在响应头中设置XSESSION Cookie立即失效 Header always set Set-Cookie "XSESSION=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT" env=INVALIDATE_XSESSION
配置说明:
SetEnvIf Cookie "XSESSION=LOGGEDOFF" INVALIDATE_XSESSION:检测请求的Cookie头,当包含XSESSION=LOGGEDOFF时,设置环境变量INVALIDATE_XSESSIONHeader always set Set-Cookie ... env=INVALIDATE_XSESSION:仅当环境变量存在时,在响应中添加Set-Cookie头,通过将Cookie值设为空、Expires设为Unix纪元时间(1970年),让浏览器立即删除该Cookie;Path=/要和原Cookie的路径保持一致,如果原Cookie有指定域名,还需要添加Domain=yourdomain.com参数
内容的提问来源于stack exchange,提问作者GaRu
相关产品推荐
相关产品推荐

