如何解决有哪些会导致会话cookie失败/消失的客户端?如何使我的会话系统更强大?
我的网站上有一个非常简单的会话系统:用户登录,成功后的响应包含会话令牌。然后,会话令牌将存储为cookie,且没有到期日(expires=Fri,31 Dec 9999 23:59:59 GMT
)和根路径(path=/
)。
在需要身份验证的请求上,客户端将发送会话令牌值作为消息的一部分,作为回退,还作为标头和cookie。
即使如此,我有时也会得到失去会话的用户。他们的会话令牌仍然有效,并且尚未注销。突然之间,它们显然不再具有会话cookie。他们能够发出请求一段时间,每天可能有成千上万次请求,这种情况可能每天或每两天发生一次,因此这种情况很少发生。这些请求似乎并不是恶意的,它们只是使网站打开一段时间并突然丢失身份验证的普通用户。
是什么原因引起的(我希望至少在某些情况下,我无法控制某些奇怪的浏览器/操作系统)?在不知道原因的情况下,有哪些方法可以防止这种情况发生?
解决方法
您是否可能重定向域?因此,例如:您将cookie设置为productlogin.com,然后重定向到product.com或任何其他要读取cookie的服务器?因为那行不通。
也可能是您的应用请求了错误的Cookie。您是否在匹配同一会话?如果您要共享一些代码,可以为我们提供帮助。
,google Chrome,Firefox和其他浏览器计划在不久的将来source1放弃cookie,这是您需要了解的。关于GDPR以及为什么这样做。
欧盟的通用数据保护条例(GDPR),允许欧洲内部的用户控制收集其个人数据的cookie和跟踪器的激活。
这对于吃饼干的公司可能会很痛苦。因为最近对Cookie的严格法律氛围。
这里讨论了一种更健壮的方法来存储持久性客户端数据,您甚至可以通过MDN网页中讨论的这些方法来存储整个数据库。 MDN = Mozilla开发人员网络。
LocalStorage API的亮点:
localStorage可以做同样的事情,但是即使关闭并重新打开浏览器,它仍然存在。即系统重启不会影响它。
- 存储没有到期日期的数据,并且
- 仅通过JavaScript清除,或清除浏览器缓存/本地存储的数据。
- 存储限制为5MB左右!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。