[20][03][24] Cookie Security: Persistent Cookie

1. 问题描述

在长期有效的 cookie 中存储敏感数据, 可能会导致机密性被破坏或帐户受到损害

2. 问题场景

大多数 Web 编程默认创建非持久 cookie, 这些 cookie 只驻留在浏览器内存中 (cookie 不会写入磁盘), 并在浏览器关闭时丢失,程序员可以指定 cookie 在浏览器会话之间被持久化, 直到某个未来的日期, 这样的 cookie 被写入磁盘, 并在浏览器会话和计算机重启时保存下来

如果私人信息被存储在长期有效的 cookie 中, 攻击者就会有更长的时间来窃取这些数据
特别是因为长期有效的 cookie 通常被设置为在遥远的未来过期,当用户与站点交互时, 通常使用长期有效的 cookie 来对用户进行概要分析, 根据对这些跟踪数据的处理, 有可能使用长期有效的 cookie 来侵犯用户的隐私

下面的代码将 cookie 设置为 10 年过期

Cookie cookie = new Cookie("token", token);
cookie.setMaxAge(60 * 60 * 24 * 365 * 10);

3. 修复方案

cookie 的有效期还是需要设置 (如果不设置有效期, 只要浏览器不关闭会一直有效,这样是不安全的), cookie 有效时间建议设置为几小时 (可以根据业务需要调整)

设置有效期为 3 小时

Cookie cookie = new Cookie("token", token);
cookie.setMaxAge(60 * 60 * 3);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值