【问题标题】:Securing session and cookies保护会话和 cookie
【发布时间】:2015-10-11 05:57:45
【问题描述】:

我对保护会话和 cookie 有几个问题。

  1. 当浏览器关闭时,作为服务器上临时文件的会话将被删除。我认为破坏会话不是一件容易的事。此外,所有教授会话保护的教程和文档实际上都在谈论保护 cookie,所以我可以假设,当我们只使用在浏览器退出时过期的会话时,不需要任何特殊的会话保护方法。如果是,我们可以使用什么来保护会话?
  2. 使用自动登录功能时确实需要注意 Cookie。我们可以启用严格模式以获得额外的安全性,拒绝未初始化的会话。自动登录的未初始化会话中不是 cookie。
  3. 当使用自动登录时,我想以一种简单的方式保护 cookie,重新生成会话 ID,然后使用 sha512 对其进行哈希处理,这样可以保护 cookie 吗?

【问题讨论】:

  • 服务器端会话不一定是文件。浏览器关闭时不会被删除。
  • 关于 3,这无济于事,因为下次用户访问您的网站时,他们将拥有一个新的会话 ID,因此任何有关先前会话 ID 的信息都是无用的。

标签: php security session cookies


【解决方案1】:
  1. 阅读:The Fast Track to Safe and Secure PHP Sessions

    有几种方法可以存储会话数据:

    • 在文件中(PHP 的默认行为)
    • 在数据库中(许多框架都这样做)
    • 在 memcached 中(我所做的)
    • 在 cookie 本身中(通常是个坏主意)

    除非您正在传输会话数据(即您的数据库在另一台服务器上,或者您的 memcached 在多个服务器上运行并且您不确定它是否使用 TLS 在节点之间进行通信),否则您通常不需要对会话数据执行任何操作。

  2. 自动登录实际上是一个复杂的主题,并且与正常会话不同。我之前写过secure "remember me" cookies

  3. 阅读 #2 中的链接。目前尚不清楚您在此处描述的内容,但听起来值得怀疑。

【讨论】:

    猜你喜欢
    • 2017-12-01
    • 1970-01-01
    • 2014-09-30
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2010-12-04
    相关资源
    最近更新 更多