注销时删除登录cookie
Removing sign in cookies on sign out
我在使用cookie时遇到了问题,并且出现了一些奇怪的行为。目前,cookie在登录时设置如下:
document.cookie = "cookie1=" + cookie1 + "; expires=0; path=/";
document.cookie = "basicAuth=" + basicAuth + "; expires=0; path=/";
document.cookie = "cookie2=" + cookie2 + "; expires=0; path=/"
这很好。我在标题中有一个注销按钮,点击后会执行以下操作:
document.cookie = "cookie1=";
document.cookie = "basicAuth=";
document.cookie = "cookie2=";
在标题脚本中,我有一个简单的检查,看看cookie1
是否为空,并隐藏标题导航栏,如果是,则重定向到登录:
if (getCookie("cookie1") == "") {
$(".navbar").css({"display":"none"});
window.location.href = "/signin";
}
现在我可以第一次有效地注销,但重新登录和再次注销似乎无法正常工作。我仍然可以看到导航栏,重定向似乎只能选择性地工作。有没有更好的方法来设置或删除cookie?
当你删除cookie时,你还应该添加日期和路径,并且日期应该在过去才能删除cookie,所以类似
document.cookie = "cookie1=; expires=Thu, 01 Jan 1970 00:00:01 GMT;";
说明书上写着
若要删除cookie,服务器将返回一个带有过去的过期日期服务器将在仅当设置Cookie标头与创建Cookie时使用的值匹配。
如果您使用为您设置名称、值、UTC时间戳等的辅助函数,而不是每次设置或获取cookie时都这样做,那么在Javascript中使用cookie通常更容易。
你所做的只是将cookie设置为一个空字符串,它从未真正被删除。
相关文章:
- 如果设置了cookie,则Facebook登录Javascript SDK自动登录
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- cookie在销毁时出现在登录表单中
- 谷歌登录成功功能在我阻止第三方cookie时没有任何作用
- Javascript - 预填充 cookie 信息,以在指向外部站点的链接上交叉传递不必要的登录页面
- 使用POST请求登录时读取服务器发送的cookie
- Google Plus 在本地主机上登录 Cookie 政策
- 如何使用 ExtJS6 cookie 提供程序和状态管理登录表单.管理器 + OL3 用于网络制图应用程序
- JavaScript cookie 访问次数,上次登录日期
- 谷歌登录在注销时删除 Cookie
- Angularjs 登录 cookie 第二次工作
- 注销时删除登录cookie
- 登录cookie过期时重定向父页
- 使用angular.js管理用户登录中的会话和cookie
- 使用ajax在登录时设置会话cookie
- 成功登录后获取cookie
- 使用安全cookie存储的JWT无状态登录:如何实现注销
- PHP持久登录不用担心窃取cookie
- 登录与谷歌停止工作cookie政策是必填字段
- 登录后cookie正在重置