【问题标题】:HttpOnly cookie will not deleteHttpOnly cookie 不会删除
【发布时间】:2020-09-29 02:53:13
【问题描述】:

我正在通过 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 服务器上运行的 Angular 应用程序。

如何删除此 cookie?已经为此工作了几天没有解决方案。

【问题讨论】:

    标签: php node.js cookies httponly


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 2012-05-23
      相关资源
      最近更新 更多