gpt4 book ai didi

javascript - 为什么我不能用 JavaScript 使 cookie 过期(不是 HttpOnly)

转载 作者:行者123 更新时间:2023-11-30 13:06:34 25 4
gpt4 key购买 nike

我在我正在通过 JavaScript 开发的框架中设置了一个 cookie(该框架似乎正在使用 https://github.com/carhartl/jquery-cookie )。我正在这个框架内开发,但无权访问框架代码,我想通过 JavaScript 删除 cookie(我无权访问此框架内的任何服务器端)。

通过 Chrome 检查 cookie,我可以说出很多:

"domain": "www.example.com", 
"expirationDate": 1667235180,
"hostOnly": true,
"httpOnly": false,
"name": "my_cookie",
"path": "/",
"secure": false,
"session": false,
"storeId": "0",
"value": "123456789"

它是 hostOnly,但应该没问题,因为我正尝试从域字段中设置的相同域中删除。

我正在尝试使用以下代码将其删除:

function clearCookie(name, domain, path) {
var domain = domain || document.domain;
var path = path || "/";
document.cookie = name + "=; expires=" + +new Date + "; domain=" + domain + "; path=" + path;
};

clearCookie('my_cookie', 'www.example.com', '/');

然而,当我这样做时,它会创建一个域为“.www.example.com”(注意额外的句点)的新 session cookie,并且不会删除当前的 cookie。

我错过了什么?

最佳答案

老问题,但我刚遇到这个问题并发现了这个问题。

如果您有 hostOnly cookie,请不要在修改/过期时指定域。

如果未提供域,大多数 cookie 处理库将自动指定域,这使得编辑 hostOnly cookie 变得困难(如果不是不可能的话)。

关于javascript - 为什么我不能用 JavaScript 使 cookie 过期(不是 HttpOnly),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15482743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com