2011-10-06 208 views
1

目前我正在使用CI。我正在使用CI会话库,它将所有会话值保存在cookie中。有没有什么可能通过在Mozilla中使用类似web开发者的插件来破解这个(会话变量)。有没有机会破解codeigniter会话?

+0

你为什么要破解会话变量cookie? –

+0

我不想破解。如果有人攻击了网站会话,他们可以做任何事情。现在我正在使用数据库会话。 – balaphp

回答

5

默认情况下,会议是由4点的相关信息制作:

  1. 用户的唯一的会话ID(这是一个统计学的随机字符串 具有非常强的熵,使用MD5加密的便携性,和 再生(默认)每五分钟)
  2. 用户的IP地址
  3. 用户的用户代理数据(浏览器 数据串的前120个字符)
  4. 的“上次活动”的时间STA熔点。

加上你自己的会话数据,当然。这四个数据中的三个不需要安全,而第一个应该是相当可靠的,即使使用MD5,我也没有深入代码实际看到它是否如此(并且我不是安全专家) 。 后者的安全级别取决于你在那里存储什么样的信息,以及你在存储之前对待它们的能力。

你也可以决定使用数据库存储会话,这将是一个更安全的选择(假设你不允许sql注入!)。

还要注意的是:

如果启用加密选项,序列化的阵列将 被存储在cookie之前进行加密,使数据高度 安全和不受被读取或改变有人。有关加密的更多信息 可以找到here,虽然会话 类将负责自动初始化和加密数据 。

那么,他们应该是相当安全的;如果你不够信任它们,你可以自由地散列或加密你的数据,或者仍然可以毫无问题地使用PHP本地会话。

3

这一切都取决于你实际上最终存储在cookie中的什么样的信息。如果有一个$_COOKIE['is_admin']的值为"false" ..好吧..

基本上,您必须检查您实际存储在用户计算机上的信息。通常对于会话,它只存储PHPSESSID,其中包含一个散列值,其余值保留在服务器上。