我需要能够确定和识别 cookie 的来源。虽然许多 cookie 会在原始页面的 HTTP 响应中到达浏览器,但其他 cookie 是通过 javascript 或通过使用 http 在页面上加载的 Assets (例如跟踪像素或 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对于这段代码,他在另一个主题中发布了 - 谢谢!
关于javascript - 确定 cookie 的来源是 javascript 还是跟踪像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30946617/