【发布时间】:2015-05-18 07:29:08
【问题描述】:
我编写了这个 javascript,它阻止页面上所有其他 javascript 创建 cookie(我在页面上也有 jquery):
jQuery(document).ready(function () {
Object.defineProperty(document, 'cookie', {
get: function () {
return '';
},
set: function (value) {
}
});
});
现在我需要更进一步。我需要选择性地阻止 cookie,如下所示:
jQuery(document).ready(function () {
Object.defineProperty(document, 'cookie', {
get: function () {
if (value == ...) {
//call to "parent" function here
} else {
return '';
}
},
set: function (value) {
if (value == ...) {
//call to "parent" function here
//document.cookie ???
}
}
});
});
是否可以调用“parent”/“native”函数?我尝试使用 document.cookie,但浏览器开始循环,再次调用我的函数(这是正确的)。
提前致谢
玛丽埃拉
【问题讨论】:
-
您是否出于安全原因尝试?重新定义 cookie getter/setter 实际上根本不安全,并且有
HttpOnly标志来阻止从 DOM 访问 cookie。在 OWASP 阅读有关 HttpOnly 的更多信息。 -
此问题与关于 Cookie 的新欧盟隐私法有关。例如,在用户同意之前,我需要阻止谷歌分析脚本创建 cookie(_ga、_gat 等)。我同意你的观点,这很疯狂,但对立法者来说并不重要!
标签: javascript cookies httpcookie