这种情况的背景是大肆宣传的欧盟隐私法,这使得网站放弃任何"非必要"cookie是非法的,除非用户已经"选择"加入.
我的具体挑战是由于网站的复杂性和各种不同方式的cookie被丢弃 - 特别是在CMS管理的情况下,允许市场营销人员进行暴乱并在不同的地方嵌入各种内容 - 主要是围绕第三方cookie哪里有嵌入式javascript,img像素,iframes等(我推测这些都允许删除使用FF插件暂时浏览网站关键区域的第三方cookie - 我还没有检查每个的机制).
所以,我一直在考虑是否在ASP.NET中有一种方法可以全局拦截并阻止我需要的网站丢弃的所有cookie,并且还要扩展它以检查它们是否必不可少,如果没有,用户是否已经同意删除cookie(可能包含一个主YES饼干).
我不清楚有几件事情.首先 - 是否可以使用Response.Filter或Response.Cookies作为管道步骤来去除任何已被删除的cookie?其次 - 它是否有可能拦截任何类型的cookie,或者如果它们直接执行从客户端到第三方服务器的浏览器请求,它将无法捕获一些第三方的cookie?
我能找到的最接近我的问题的是这个,但这看起来像是一个全站点的解决方案 - 而不是用户特定的.
我需要记录document.cookie的设置。我不能只用重新定义cookie属性,document.cookie = {...}所以我需要为document.cookie设置setter。但是Object.getOwnPropertyDescriptor(document, "cookie")回报undefined。
UPD。当我写问题时,我找到了一个可行的解决方案,但是它使用了弃用的__lookupGetter__和__lookupSetter__方法。有没有不使用过时的API的解决方案?
很高兴见到你.我有一些问题.
如何使用HTML或JavaScript禁用Cookie?
所有互联网的答案都是设置为昨天的过期时间.喜欢下的代码.
var date = new Date();
date.setDate(date.getDate() - 1);
var willCookie = '';
willCookie += 'CookieName=Value';
willCookie += 'expires' + date.toUTCString();
document.cookie = willCookie;
Run Code Online (Sandbox Code Playgroud)
如何在HTML或JavaScript中创建cookie?不是浏览器.