会话过期和浏览器选项:废话

时间:2017-02-02 13:42:35

标签: php session-cookies

我和我的同事开发了一个网站,并发生了一件错误的事情。

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

缓解此问题的技巧包括:

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