Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在本地运行时从其他域删除cookie_Javascript_Cookies_Setcookie - Fatal编程技术网

Javascript 在本地运行时从其他域删除cookie

Javascript 在本地运行时从其他域删除cookie,javascript,cookies,setcookie,Javascript,Cookies,Setcookie,根据cookie规范,这是不允许的(与ajax调用的同源策略的原则相同)。就SOP而言,当您从文件:///运行javascript时(例如在UIWebView内部),它不适用。这在我的例子中也得到了很好的证明。那么饼干呢 我有一个应用程序,它通过javascript向服务器发出请求,在本地运行(文件://)。身份验证请求设置一个名为“alpha”、路径为“/”和域为“serverdomain.com”的cookie。在注销期间,我需要清除前面提到的cookie,但我感觉我的尝试失败了,因为我无法

根据cookie规范,这是不允许的(与ajax调用的同源策略的原则相同)。就SOP而言,当您从文件:///运行javascript时(例如在UIWebView内部),它不适用。这在我的例子中也得到了很好的证明。那么饼干呢

我有一个应用程序,它通过javascript向服务器发出请求,在本地运行(文件://)。身份验证请求设置一个名为“alpha”、路径为“/”和域为“serverdomain.com”的cookie。在注销期间,我需要清除前面提到的cookie,但我感觉我的尝试失败了,因为我无法访问它,因为它被认为来自不同的域。听起来熟悉吗?还是我离这里很远?有没有办法完成这样的壮举

范例

我正在Chrome上运行javascript(使用文件:///作为URI)。我启动了一个登录,很快我就可以在cookie manager插件中看到以下cookie(这不是实际的cookie,但除了名称(我们可以说它是“alpha”)之外,它看起来是一样的)。cookie不仅标记为http,而且选中了“会话”和“安全”复选框(与下面的屏幕截图不同)

现在请记住,如果我使用Chrome的“inspect element”功能并转到“Cookies”,我会得到一个“此站点没有Cookies”

在注销期间,我需要删除该cookie。所以我用javascript实现了这一点:

document.cookie="alpha=; expires=Thu, 10 May 2000 15:07:07 GMT"

饼干不会消失。我唯一能让它消失的方法就是从cookie管理器中删除它。我是否可以删除此cookie(从文件:///运行时)?如果是,如何执行?

如果cookie是在其他域上创建的,则客户端不会将此cookie发送到第二个域上的服务器,因此您无法将其删除。您可以在此域上设置具有相同名称的cookie,但该cookie与第一个域上存在的cookie不同。

不确定这是否回答了我的问题。cookie由服务器设置并返回给客户端。我向该服务器发出的每个后续请求都包含相同的cookie。问题是,我如何删除cookie,以便在向服务器发出嵌套请求时,cookie不会被发送。因为我似乎是从另一个域运行的,这可能吗?@fnCzar,如果您在另一个域上运行,客户端将根本不会发送cookie。但是,如果您说客户端正在发送cookie,这意味着此cookie是在此域上创建的,您可以通过将其expires头设置为过去的日期从服务器中删除它。但问题是,我可以从客户端中删除吗?是的,如果它不是会话cookie(即,使用服务器上的HttpOnly标志生成)如果你有权访问它,cookie的域属性是什么?