cookie版本问题

最近遇到一个问题 在服务器读写cookie 正常
用客户端模拟读cookie 读不出来值
NAMEdahepassport
VALUEusername=wty703&password=FCDF60C3C7E38B9F61B6F4BEE47D50222B344EB904123713

=号后面的值完全读不出

问题原因:cookie 两个版本 version 0 不允许特殊字符 version1 允许特殊字符

tomcat 5 和tomcat 6 处理方式不一样
tomcat5 直接能处理上诉的值
tomcat6 认为 如果包含特殊字符需要有双引号引住

解决方法
增加转义字符\" 或者urlencode编码一下
谷歌浏览器在 138 版本之后对 Cookie 的处理机制进行了多项调整,主要集中在增强隐私保护、限制第三方 Cookie 的行为以及优化用户数据安全等方面。这些变更旨在应对日益增长的网络安全威胁和用户隐私需求。 ### 1. **限制第三方 Cookie** 从 Chrome 138 开始,Google 进一步收紧了对第三方 Cookie 的默认处理策略。此前版本中,网站可以通过嵌入其他域的内容(如广告或分析脚本)来设置和访问第三方 Cookie,但这一行为已被默认阻止[^1]。这项改动有助于减少跨站跟踪的风险,但也可能影响依赖于第三方 Cookie 的广告投放和用户识别机制。 ### 2. **SameSite 默认行为强化** Chrome 继续加强 SameSite 属性的默认行为。若未明确指定 `SameSite` 属性,则 Cookie 将默认被视为 `SameSite=Lax`,这意味着它们仅在同站请求中发送,而在跨站请求中不会被携带。这种变化提升了安全性,防止某些类型的 CSRF(跨站请求伪造)攻击,但也可能导致部分跨域功能失效,例如嵌入式表单提交或跨域 API 调用[^1]。 ### 3. **Partitioned Cookie 实验性支持** Chrome 引入了一种新的 Cookie 类型——**Partitioned Cookie**,用于缓解跨站跟踪问题。这类 Cookie 与特定的上下文相关联,例如某个嵌入页面的源,而不是主文档的源。这样可以确保 Cookie 不会在不同上下文中共享,从而降低跨站信息泄露的风险。该功能仍处于实验阶段,需通过特定标志启用[^1]。 ### 4. **Deprecation of Third-Party Cookie APIs** Google 已明确表示将在未来逐步淘汰所有允许第三方 Cookie 的 API 和行为。为此,Chrome 138 开始标记一些旧的 Cookie 相关接口为“废弃”,并鼓励开发者使用替代方案,如 Storage Access API 或 First-Party Sets 等技术来实现跨域身份识别。 ### 5. **Cookie 接口更新与开发者工具改进** Chrome DevTools 对 Cookie 检查器进行了更新,新增了更多字段显示,包括 `Partitioned`、`SameParty` 和 `SourcePort` 等属性。这些信息帮助开发者更清晰地了解 Cookie 的作用范围和生命周期,便于调试和优化应用行为[^1]。 --- ### 示例代码:检查 Cookie 是否受 SameSite 影响 ```javascript document.cookie = "test=1; SameSite=None; Secure"; console.log(document.cookie); // 若无法设置,说明 SameSite 默认生效 ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值