使用新的Cookie法则我试图找到一种方法,我可以使用PHP脚本从我的网站删除所有cookie。我有一个有效的脚本,但它不会删除谷歌分析cookie。
如何删除Google Analytics分析Cookie?
foreach($_COOKIE as $key => $value) {
setcookie($key, '', time()-1000);
setcookie($key, '', time()-1000, '/');
}
答案 0 :(得分:4)
您需要将域名作为第5个参数传递...
setcookie($key, '', time()-1000, '/', '.domain.com');
答案 1 :(得分:1)
通常,firefox会显示cookie是否在www.yourdomain.com或domain.com下设置。就我而言,已经为domain.com设置了谷歌分析cookie。 此代码完成了这项工作,删除了所有3个与Google相关的Cookie:
foreach ( $_COOKIE as $key => $value ){
if($_POST[$key]==1){
unset($_COOKIE[$key]);
if($key=='language' || $key=='currency'){
setcookie($key, null, -1, '/', 'www.mydomain.com');
}else if($key=='_ga' || $key=='_gid' || $key == '_gat_gtag_UA_whatever_1' ){
setcookie($key, null, -1, '/', '.mydomain.com');
}else{
foreach ( $_COOKIE as $key => $value ){
if($_POST[$key]==1){
unset($_COOKIE[$key]);
if($key=='language' || $key=='currency'){
setcookie($key, null, -1, '/', 'www.mydomain.com');
}else if($key=='_ga' || $key=='_gid' || $key == '_gat_gtag_UA_whatever_1' ){
setcookie($key, null, -1, '/', '.mydomain.com');
}else{
setcookie($key, null, -1, '/');
}
$n++;
}
}
我让它作为一个表单操作运行,我列出了当前存储在客户端浏览器中的所有cookie,让他选择要删除的那个。选中的那些作为$ _POST [$ key] == 1进入,然后由脚本处理。未被选中的活着。这是OpenCart下的在线商店。 不用说,用您的谷歌帐号替换跟踪cookie中的'和'任何'的'mydomain.com'。
答案 2 :(得分:0)
您无法删除属于其他域.google的客户端浏览器上的Cookie,但您可以选择添加分析代码。
第一步是使用PHP检查dnt标题 [example function],许多浏览器已经支持这个+ AVG将此作为浏览器插件,如果它在那里默认不添加js代码。 或者,如果未设置dnt标头,则可以提示用户有关您的跟踪/分析Cookie,然后将选择存储在Cookie或会话中。
答案 3 :(得分:0)
foreach($_COOKIE as $key => $value) {
setcookie($key, '', time()-1000, '/', '.domain.com');
}
以上示例对我不起作用 - 删除所有其他Cookie,只留下GA。任何人都知道为什么这可能是一个更好的方法?