HttpOnly cookie不会删除

时间:2020-06-09 20:00:45

标签: php node.js cookies httponly

我正在通过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?已经为此工作了好几天,没有解决方案。

1 个答案:

答案 0 :(得分:0)

要从子域中删除Cookie,只需调用:

setcookie('AuthCookie', '', time()-3600, '/', 'beta.page.io');

没有必要重复$ secure或$ httponly参数,并且cookie将被删除。 但是它必须在子域或子子域本身上运行-在 beta.page.io 或www.beta.page.io上运行命令,但在不是 > page.io