0

0

Web.xml session-config cookie-config http-only HttpOnly标志配置

煙雲

煙雲

发布时间:2026-02-28 11:52:03

|

978人浏览过

|

来源于php中文网

原创

web.xml 中 http-only 必须全小写、置于 内且该标签需嵌套在 中,值仅支持 true/false;它仅作用于容器自动创建的 jsessionid cookie,不生效于手动添加的 cookie。

web.xml session-config cookie-config http-only httponly标志配置

web.xml 里 http-only 是怎么配的?

不是写成 HttpOnly,也不是加引号或大写拼写,必须是全小写 http-only,且只能出现在 <cookie-config></cookie-config> 内部。写错大小写或放错位置(比如塞进 <session-config></session-config> 外层)会导致配置完全不生效,容器连解析都不解析。

常见错误现象:Set-Cookie 响应头里始终没出现 HttpOnly 标志,即使 web.xml 看起来“写了”。

  • <cookie-config></cookie-config> 必须嵌套在 <session-config></session-config> 里面,不能平级
  • 值只能是 truefalse,不能写 on/yes/1
  • Tomcat 7+、Jetty 9+、WebLogic 12c+ 支持;老版本如 Tomcat 6 不识别该标签

为什么 http-only 设为 true 后 JS 还能读到 session ID?

根本原因:这个配置只影响容器自动创建的 JSESSIONID Cookie,不影响你代码里手动用 response.addCookie() 新建的 Cookie。如果项目里有自定义登录态管理、或者用了前端存储 token 的方案,http-only 对那些完全没作用。

另外,如果应用同时存在多个 Cookie(比如一个存用户信息、一个存权限),只有 JSESSIONID 那个受控;其他 Cookie 必须单独调用 cookie.setHttpOnly(true) 设置。

Hoppy Copy
Hoppy Copy

AI邮件营销文案平台

下载
  • 检查浏览器开发者工具的 Application → Cookies,确认 HttpOnly 列是否打钩
  • curl -I http://localhost:8080/xxx 看响应头里 Set-Cookie: 是否带 HttpOnly
  • Spring Boot 用户注意:若用了 spring-session,默认会覆盖 web.xml 配置,得改 SessionRepositoryFilter 行为

cookie-config 里还有哪些关键项和 http-only 强相关?

http-only 不是孤立参数,它和 securemax-agepath 共同决定 Cookie 的安全边界。漏配 secure 在 HTTPS 环境下会让 http-only 形同虚设——攻击者仍可通过 HTTP 中间人劫持拿到 Cookie。

  • <secure>true</secure>:强制 Cookie 只走 HTTPS,和 http-only 是“安全组合”,缺一不可
  • <http-only>true</http-only> + <secure>false</secure> = 明文传输 + 禁 JS 访问 → 白忙活
  • <path>/</path> 若设成 /admin,可能导致部分子路径无法携带 Cookie,间接让 session 失效

Tomcat 8.5+ 默认已经开启 http-only,为什么还要配 web.xml?

因为 Tomcat 的默认行为只对新部署的应用生效,且依赖 context.xml 里的 useHttpOnly(默认 true)。但如果你的应用打了 WAR 包丢进别人运维的旧环境,或者用了非标准部署方式(比如嵌入式 Tomcat),web.xml 配置才是最直接、最可控的兜底手段。

更关键的是:web.xml 配置优先级高于 Tomcat 全局设置,能覆盖掉中间件层面可能存在的误配。

  • 验证方式:删掉 web.xml 里的 cookie-config,重启后 curl 看响应头是否还带 HttpOnly
  • 某些云平台(如阿里云 EDAS)会强制重写 session 配置,此时 web.xml 反而会被忽略,得查平台文档
  • 微服务架构下,网关层(如 Spring Cloud Gateway)可能剥离或重写 Cookie,http-only 在后端配了,前端也未必收得到
事情说清了就结束。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

117

2023.10.26

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

171

2024.02.23

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

98

2024.02.23

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

169

2024.02.23

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

156

2024.02.23

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

200

2024.02.23

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

243

2024.02.23

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

167

2024.02.23

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

0

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
php注册登录系统开发实战
php注册登录系统开发实战

共10课时 | 13.5万人学习

PHP基于Cookie的购物车模块设计
PHP基于Cookie的购物车模块设计

共10课时 | 10.8万人学习

第三期培训_PHP开发
第三期培训_PHP开发

共116课时 | 27.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号