我需要能够确定并识别 cookie 的来源。虽然许多 cookie 会通过原始页面的 HTTP 响应到达浏览器,但其他 cookie 会通过 javascript 或通过使用 http 加载到页面上的资产(例如跟踪像素或 AJAX 调用)添加到浏览器。
确定/识别每个 cookie 来源的好方法是什么?
发布此文章是因为我也在为这个问题苦苦挣扎,终于找到了解决方案。
据我所知,这仅在 Firefox 控制台中有效......
- 在刷新后(设置任何 cookie 之前)您知道在页面上运行的 JavaScript 的第一行设置断点。
- 然后清除您的缓存和 cookie。
- 将以下代码片段粘贴到 Firefox 的控制台中。
- 删除断点并恢复脚本执行。
您应该在控制台中看到正在创建的每个 cookie 的堆栈跟踪!
origDescriptor = Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie'); // add cookie property to HTMLDocument constructor
Object.defineProperty(document, 'cookie', {
get() {
return origDescriptor.get.call(this);
},
set(value) {
console.log("%c Cookie is :" + value, "background: #ffffff; color: #000000");
console.trace();
// debugger;
return origDescriptor.set.call(this, value);
},
enumerable: true,
configurable: true
});
我必须赞扬fflorent https://stackoverflow.com/users/915465/fflorent他在另一个主题中发布了这段代码 - 谢谢!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)