|
打开浏览器按F12,何查点开Application面板,看网左侧Storage目录下找到Cookies,何查点击就能看到当前网站的看网cookie列表。这是何查最直接的办法,但很多人不知道每个cookie具体代表什么,看网更不知道哪些该留哪些该删。何查 拿Chrome举例——你在地址栏输入document.cookie按回车,看网只能看到非HttpOnly的何查cookie,而且格式是看网一长串分号连接的键值对,看着头疼。何查真正的看网完整cookie列表藏在DevTools里,每行都清楚标注了Name、何查Value、看网Domain、何查Path、Expires和HttpOnly标记。Firefox的开发者工具里叫Storage Inspector,Safari则在Develop菜单下,大同小异。 有个冷门技巧:在Application面板里点开某个cookie,能看到它的SameSite属性。这个属性决定了跨站请求时cookie是否携带。我调试本地开发环境时经常碰到问题——前端页面跑在localhost:3000,后端API在localhost:8080,cookie死活带不过去,查了半天发现是SameSite默认Lax,改成None并加上Secure标记才解决。 你可能会问:手机浏览器怎么看?安卓Chrome需要先开启USB调试,连接电脑后用DevTools的Remote Devices功能。iPhone上Safari则要在设置里打开Web Inspector,用Mac上的Safari开发者工具远程查看。但说实话,移动端调试cookie我更推荐用Charles或Fiddler抓包,比远程调试直观得多。 实际工作中最常碰到的场景是登录状态丢失。用户反馈"明明勾选了记住我,刷新就掉登录",八成就是cookie过期时间设置有问题。你可以在DevTools里手动修改Expires列的值,把过期时间往后调几个月,测试是否修复。另一个常见坑是cookie容量——单个域名下cookie总数不能超过20个(各浏览器略有差异),超出后浏览器会随机删除最早的。我之前就遇到过商户系统的cookie被另一个插件塞满了,导致登录态时好时坏。 查看cookie不只是为了调试,还能帮你发现安全隐患。比如你看到某个cookie没有HttpOnly标记,意味着JavaScript能读取它,万一网站存在XSS漏洞,攻击者就能直接偷走你的会话。还有Secure标记缺失的cookie,在HTTP明文传输时可能被中间人截获。我检查过不少第三方统计脚本,它们设置的cookie经常不带Secure,这种就该直接屏蔽。 最后提个野路子——用命令行看cookie。curl命令加上-v参数会打印响应头里的Set-Cookie字段,适合快速验证接口是否正确下发cookie。配合-b参数还能手动指定发送的cookie值,测试不同用户状态时特别方便。比如curl -b "session_id=abc123" https://api.example.com/user,就能模拟已登录请求。 工具只是手段,关键是理解cookie的生命周期。看到Expires为Session的,关浏览器就没了;看到Max-Age为正数的,是相对时间;两者都有的,Max-Age优先。搞懂这些,排查登录问题能省一半时间。 |