10个开发者必须了解的 Cookie 知识点
Web 最古老的状态管理机制 Cookie,至今很多人还在踩坑!
Cookie 从 Web 出现那天就诞生了,到今天依然是前后端协作绕不开的东西。
但问题是:很多开发者对 Cookie 的工作机制没搞清楚,用法也不规范,结果就是 —— 登录状态丢失、安全漏洞、用户体验差,甚至合规违规。
本文总结了 10 条最关键、最容易踩坑的 Cookie 使用要点,配上实际开发建议,一次性帮你查漏补缺。
5. 使用SameSite属性防止 CSRF 攻击
SameSite控制跨站请求时是否发送 Cookie,是防止 CSRF 的关键机制。
三个值:
Strict:最安全,只有同站点请求才带 CookieLax:常用默认值,部分 GET 请求会带 CookieNone:允许跨域,但必须配合Secure
建议:
- 认证 Cookie 至少设置
SameSite=Lax。 - 跨域场景(如主站+子站)用
SameSite=None; Secure。
9. 在欧盟地区,特殊情况
在欧盟地区,必须征得用户同意才能设置非必要 Cookie 。GDPR 和 ePrivacy 法规要求,设置追踪类 Cookie 必须用户明确同意。
建议:
- 实现清晰的 Cookie 通知和分类同意弹窗。
- 区分“必要”和“非必要”Cookie,非必要的要等用户同意后才设置。
开发者操作检查清单:
- Cookie 是否够小?
- 是否设置了
HttpOnly和Secure? - 是否配置了
SameSite? - 是否真的需要持久化?
- 非必要 Cookie 是否获得了用户同意?
如果这篇文章对你有帮助,记得转发给团队里的后端/前端/安全工程师一起看,很多坑一个人踩不如大家一起避。
来源:微信公众号 · 芝士
评论
登录后参与讨论
还没有评论,来说点什么吧