【发布时间】:2013-04-24 12:58:00
【问题描述】:
由于我的用户已将他们的会话配置为在每次重新打开他们的 Firefox 浏览器时重新打开。 '会话' cookie 回来了。 但如果会话 cookie 不存在或 24 小时前,我的网站需要新的身份验证。所以我遇到了这个问题,每次我在 24 小时后重新打开浏览器时都需要手动删除过期的 cookie。
为了解决这个问题,我厌倦了在我的页面上放置一个“注销”链接,这应该对我有所帮助。但不幸的是它没有帮助......
我尝试使用以下代码删除 cookie,但它似乎没有从 Firefox 存储其 cookie 的 sqilte 表中删除 cookie。运行以下代码后,cookie 重新出现..(或者它们没有被删除???)我怎样才能做到这一点?
代码:
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");
});
【问题讨论】:
-
为什么不在 cookie 上设置一个 24 小时的过期日期?如果 cookie 存在(= 未过期),请不要重写它...
-
会话 cookie 不是设置为在浏览器关闭时过期吗?如何在此 cookie 上设置过期日期,该 cookie 由其他站点设置,我必须进行身份验证。我们所有的网站都进入这个“主”网站进行身份验证,该网站在成功验证后会在我们的 PC 上设置一个“会话 cookie”。现在 a) 我如何设置这个 cookie 的到期计时器? b) 由于 Firefox 自身的行为,会话 cookie 在设置为从上次会话中打开选项卡时重新出现。
标签: firefox cookies session-cookies