当前位置: 首页 > 知识库问答 >
问题:

无法删除firefox会话Cookie

黄兴业
2023-03-14

因为我的用户已经将他们的会话配置为每次重新打开firefox浏览器时都重新打开。“会话”cookies回来了。但是,如果会话cookie不存在或存在24小时,我的网站需要新的身份验证。所以我遇到了这样一个问题:每次24小时后重新打开浏览器时,我都需要手动删除过期的cookies。

为了解决这个问题,我在我的页面上放了一个“注销”链接,这应该对我有所帮助。但不幸的是,这无助于。。。

我在下面的代码中尝试删除cookie,但它似乎没有从firefox存储cookie的sqilte表中删除cookie。运行以下代码后,cookies再次出现。。(或者他们没有被移除吗?)我怎样才能做到这一点?

代码:

function Delete_Cookie( name, path, domain )
{
    document.cookie=name+"="+((path) ? ";path="+path:"")+((domain)?";domain="+domain:"")+";expires=Thu, 01 Jan 1970 00:00:01 GMT";
}

$("#Logout").click(function() {
    Delete_Cookie('SecOne','/','.mydomain.com');
    Delete_Cookie('SecTwo','/','.mydomain.com');
    alert("Bye");
});

共有3个答案

毕衡
2023-03-14

我知道这是一个旧线程,但我遇到了相同的问题,因为我一直试图用过去的时间设置一个cookie,认为它会过期,不会显示在FF cookie manager中。

将cookie设置为在将来过期,但具有空白值的情况下将其删除。不知道为什么。

setcookie(mycookie,“,time()5000,“/”);

使用FireFox v40.0.3
似乎使用Firefox记录了一些错误,并且它正在处理cookie过期。

墨雨华
2023-03-14

如果cookie是HttpOnly cookie,则无法从HTTPS安全的网页中读取/删除。如果cookie是普通cookie,则可以使用以下功能删除cookie。

function deleteCookie(keyName){
        var allcookies = document.cookie, i, cookiearray = null, name = null;
        cookiearray = allcookies.split(';');
        for (i = 0; i < cookiearray.length; i++) {
            name = cookiearray[i].split('=')[0].trim();
            if (name === keyName) {
                document.cookie = name + '=000;expires=Thu, 1 Jan 1970 00:00:00 UTC; path=/';
            }
        }
    }

注意:即使浏览器关闭,会话cookie也无法删除。这是chrome浏览器中的已知错误。请参阅以下chrome中的链接Cookie问题

乔伯寅
2023-03-14

虽然我不能确定问题是什么,但有几种可能性:

域名可能是错误的。

您可以编写一个不使用路径和域名的测试删除行,然后看看它是否有效。如果cookies在更改后被删除,则是您为删除行创建的字符串或传入的参数错误。

此外,可能是代码的另一部分导致cookie再次出现。检查是否有任何其他cookie设置在这之后被调用。

或者可能需要重新加载页面才能使cookies消失

 类似资料:
  • 我有一个GWT应用程序,在登录应用程序时,我正在Cookies中设置一些值。在注销期间,我们将删除cookies,如下所示。它工作正常,并在Internet Explorer 11中成功删除。但是,firefox在注销时并没有删除cookie。如果我们手动清除firefox中的缓存,cookie就会被删除。请帮助我删除firefox中的cookies,而不需要手动清除缓存。 OnLogin:饼干。

  • 问题内容: 我正在使用Django和Redis作为会话引擎(也是Celery,但这是其他东西)。它运行完美,我可以看到速度有所提高。 我有一个脚本,每分钟运行一次,以通过某些方法检查活动用户,如果该用户在最近一分钟内未处于活动状态,则该会话将被删除。这样做是为了满足客户的跟踪需求。 在我切换到Redis作为会话引擎之前,该脚本运行良好。实际上,该会话确实已从数据库中删除,但未从Redis中删除。我

  • 我的购物车有两个功能,第一个是退货总价和商品总数量: 这两个函数返回这两个参数: 和: 我可以通过此功能销毁所有购物车会话: 如何删除特定购物车项目?我在使用这个方法,它的工作。但它不会改变总价和总数量:

  • 下面是使用的示例。向导完成后,如何清除用户会话属性?在我的示例中,在返回到之后会话属性仍然存在。我尝试了和,但它不起作用。 我的错误<代码>状态。setComplete() 工作正常<代码>会话。removeAttribute(“用户”)在这里不需要做什么。

  • 我正在使用带有.NET核心的Azure服务总线 在我们的应用程序中,我们正在向服务总线发送会话消息。每当我们收到带有session-Id的取消请求时,我们需要删除/删除/完成带有该特定sessionId的消息,而不需要进行任何进一步的处理 但我得到了错误-请求的会话'session-name'不能被接受。它可能被另一个接收器锁定。

  • 我在解决如何正确处理JSF中会话的自动销毁方面遇到了困难。当然,此时,容器会使会话失效,从而也会在会话范围的bean上调用@PreDestroy方法。 在某些会话范围bean的预销毁中,我们正在注销一些侦听器,如下所示: 然而,getWS()方法实际上试图获取对另一个会话范围bean的引用,但失败了,如返回null。Ryan Lubke认为,后者似乎是正常的JSF行为: 我们遵守这里的规范。我不确