【问题标题】:Session expire and browser options: nonsense会话过期和浏览器选项:废话
【发布时间】:2017-02-02 13:42:34
【问题描述】:

我和我的同事开发了一个网站,然后发生了一件神秘的事情。

我们告诉我们的同事关闭所有选项卡和浏览器窗口(以销毁会话),然后开始一个新的。他做到了,并以同样的错误返回。我们发现,他设置了他的浏览器(在我们的例子中是 chrome,但这个选项也在其他浏览器中):Settings -> On start -> continue where finished(或者类似的东西,我的浏览器不是英文的)。

我从来没有这样使用过我的浏览器,但正如其他人所说,很多人都在使用它。

在这种情况下,不能保证浏览器关闭会清除会话 cookie,我可以确定的唯一方法是,如果用户注销,并且注销过程会破坏会话,(或取消设置与登录)。

我想,我不应该解释为什么它真的很糟糕。我能用这个做什么?我很害怕,没什么,浏览器在关闭时保存此会话,并在打开时重新加载。

不接受与时间相关的解决方案。

你们所有人是如何在 PHP 脚本中处理这种行为的?在公共场所,这是对生命的威胁。

【问题讨论】:

    标签: php session-cookies


    【解决方案1】:

    会话是基于时间的。目前还没有人有更好更实用的解决方案。

    您无法控制浏览器上发生的事件,例如它们是否会在重新启动时清除 cookie。这取决于浏览器制造商,他们可能会在某些选项中询问用户。

    如您所知,此安全模型存在一些漏洞,但没有客户的合作,任何系统都无法真正安全。

    缓解此问题的技术包括:

    • 即将到期的会话(您可以在每次页面加载时刷新它们)
    • 各种形式的 CSRF 令牌
    • 为真正敏感的操作(例如更改密码)重新询问用户密码

    【讨论】:

    • 谢谢。正如我所说,我从未尝试过此选项,并且我不知道浏览器的这种行为。有趣的是,那部歌剧是按它应该做的,所以它把我带到了我所在的页面,但不记得会话了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2013-07-18
    • 2014-10-17
    • 1970-01-01
    • 2017-10-05
    • 2011-02-19
    • 1970-01-01
    相关资源
    最近更新 更多