在代码点火器中实现“记住我”

时间:2009-12-10 19:30:26

标签: security web-applications session codeigniter

即使在浏览器关闭后,我如何记住会话。

除了延长cookie的过期时间之外还有其他选择。

我正在使用代码点火器

2 个答案:

答案 0 :(得分:1)

我基于this article实现了我的版本。本文解释了概念,安全性以及如何实现持久登录cookie。

我所做的总结是:

  1. 创建一个表来保存持久性cookie系列和令牌(需要系列来检测cookie是否被盗)。
  2. 我编写模型以创建所需的cookie(与普通CI会话分开)。
  3. 该模型也做数据库 读/写使用的持久性 饼干。
  4. 我将此模型集成到处理的现有用户模型中 正常认证。
  5. 当用户转到需要放宽身份验证的页面时,没有 正常的CI会话,但有 在他的持久cookie会话 浏览器,我的代码将识别它 因为同一系列和令牌也 存储在数据库中。用户 会有一个正常的CI会议,但是 带有此会话的标志 从持久性cookie生成 不是登录表格。
  6. 当用户转到需要CI会话的“敏感”页面时 没有持久性标志,那么用户 将被记录,并发送到登录 表格(如果你使用雅虎邮件,那么它 与此相似)。这通常是 用户可以做的页面 添加/编辑/删除,并查看敏感 信息。
  7. 我希望这有帮助。

答案 1 :(得分:0)

Cookie是我怀疑的唯一解决方案。正如你所说,你需要延长时间。但是,如果您想使用PHP会话,那么您可以使用php.ini文件延长会话寿命,但我不认为为此目的使用会话将是一个好主意,因为会话数据存储在服务器而不是单个用户。

由于