禁用cookie时要使用的内容

时间:2014-08-22 16:09:50

标签: php login session-cookies

我正在创建一个简单的网站,如果他们的Cookie被禁用,我会为我的用户做些什么。如果要登录并闲置几分钟,我将如何保持该用户登录并确定他们的cookie是否被禁用?

3 个答案:

答案 0 :(得分:1)

如果Cookie被阻止,您的选项是:

  1. 将URL中的会话ID作为参数传递。
  2. 将会话ID嵌入页面中(当然是隐藏元素),并使用JavaScript引用它。
  3. 作为旁注,最近我看到有几个网站说我的浏览体验会受到严重限制,只要我的浏览器禁用了Cookie。根据我对网站功能的需求,我会启用Cookie,使用启用了Cookie的其他浏览器,或者决定完全跳过该网站。

答案 1 :(得分:1)

在现代浏览器中使用的另一个选项是使用Web Storage。这也被建议为首选replacement to cookies。 (browser support) 首先检查浏览器中是否有cookie或Web存储,使用您喜欢的值来设置值以进行检查。然后,您可以回退到@TravelingTechGuy建议的隐藏会话数据,然后从那里您可以要求您的用户遵守或限制访问。

我同意网址中的会话数据对于OP评论中提到的原因并不是一个好主意。

唯一的缺点(我可以想到ATM)到页面隐藏的会话数据"可能是后端"会话泄漏"在代码中。您不会想要在HTML中意外地将错误的会话ID发送回客户端,因为您必须通过将数据发送到服务器并在每次返回时将该数据保留在页面中(除非您使用某些单页应用程序样式保持该会话数据仅限本地)。您最好只想检查提交的会话ID并从那里做出反应。

如果您怀疑由于某些限制可能会丢失可能影响您服务的用户群,那么最好尽量提供尽可能多的检查和回退。

答案 2 :(得分:0)

您可以尝试使用Flash Cookie。如果您获得了Flash 5的副本,它可以在未经许可的情况下工作(它甚至没有被记录,但它可以工作)。但这真的是一个肮脏的黑客。