我正在通过php设置httpOnly cookie:
setcookie("AuthCookie", $result, time()+60*60*24, '/', "page.io", FALSE, TRUE);
这是通过jQuery ajax调用来调用的:
request = $.ajax({
url: "http://page.io/login.php",
type: "POST",
data: jsonData,
complete: function(r){
if (r.status == 200) {
window.location = 'http://beta.page.io/';
}
}
});
login.php进行setcookie调用,然后jquery重定向到beta.page.io。
httponly cookie存在于page.io上。可以通过清除firefox上的缓存和数据来删除它。
beta.page.io上有一个旧的httponly cookie。清除Firefox上的缓存和数据不会删除此Cookie。对setcookie的调用将在此cookie后面附加另一个“ AuthCookie”。
setcookie("AuthCookie", $result, time()-10, '/', "page.io", FALSE, TRUE);
也不会删除cookie。 beta.page.io是在nodejs服务器上运行的有角度的应用程序。
如何删除此Cookie?已经为此工作了好几天,没有解决方案。
答案 0 :(得分:0)
要从子域中删除Cookie,只需调用:
setcookie('AuthCookie', '', time()-3600, '/', 'beta.page.io');
没有必要重复$ secure或$ httponly参数,并且cookie将被删除。 但是它必须在子域或子子域本身上运行-在 beta.page.io 或www.beta.page.io上运行命令,但在上不是 > page.io 。