即使cookie被加密,CodeIgniter数据库会话是否更安全?

时间:2012-09-09 19:35:44

标签: php codeigniter session cookies

问题1

基本上,我要问的是:即使$config['sess_use_database'] = TRUE;$config['sess_encrypt_cookie'] = TRUE;更安全吗?

我一直绊倒博客,Stackoverflow帖子,甚至声称$config['sess_use_database'] = TRUE;的CI文档更安全,但似乎位置user_data存储(在cookie或数据库中)不应该&#39从安全的角度来看,无论如何cookie都是加密的。

问题2

如果设置$config['sess_encrypt_cookie'] = FALSE;并检查Cookie,无论$config['sess_use_database']的值是多少,都会在Cookie的末尾粘贴一个(似乎是md5)哈希 - 这里'一个例子:

a:4{
  s:10:"session_id";
  s:32:"a2caac03fc72d709ac280540a09d8ed7";
  s:10:"ip_address";
  s:9:"127.0.0.1";
  s:10:"user_agent";
  s:100:"Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.14 Safari/537.4";
  s:13:"last_activity";
  i:1347228760;
}7aa8ebe3fc462bd86c0c0544a969cbda

7aa8ebe3fc462bd86c0c0544a969cbda有什么意义?它来自哪里?

1 个答案:

答案 0 :(得分:6)

问题1
这取决于你认为安全的东西。

您设置的自定义数据将存储在数据库中,但session_id,ip_address,user_agent和last_activity仍将存储在cookie中。如果您认为这些数据妥协,那么答案是肯定的。否则答案是否定的。

问题2
它是包含会话数据和加密密钥的序列化数据的哈希值。这用于确保cookie数据未被篡改。

相关问题