Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 我是否需要手动激活CodeIgniter中会话变量的加密?_Database_Session_Codeigniter_Encryption - Fatal编程技术网

Database 我是否需要手动激活CodeIgniter中会话变量的加密?

Database 我是否需要手动激活CodeIgniter中会话变量的加密?,database,session,codeigniter,encryption,Database,Session,Codeigniter,Encryption,我读过,使用数据库存储会话变量比将它们放在cookie中要安全得多 如果使用CI会话库并将其设置为存储在数据库中而不是cookie中,它是否会自动加密会话ID变量 每个人都说在数据库中存储会话变量时最好使用加密,但我不确定是否有其他选项必须打开才能进行加密 此外,如果您确实需要自己激活加密步骤,您将在哪里设置密钥?它是同一个encryption helper类的一部分吗?否,CodeIgniter在存储会话数据时不会自动加密会话数据,无论是在数据库(如MySQL)中还是在客户端使用cookie

我读过,使用数据库存储会话变量比将它们放在cookie中要安全得多

如果使用CI会话库并将其设置为存储在数据库中而不是cookie中,它是否会自动加密会话ID变量

每个人都说在数据库中存储会话变量时最好使用加密,但我不确定是否有其他选项必须打开才能进行加密


此外,如果您确实需要自己激活加密步骤,您将在哪里设置密钥?它是同一个encryption helper类的一部分吗?

否,CodeIgniter在存储会话数据时不会自动加密会话数据,无论是在数据库(如MySQL)中还是在客户端使用cookie

在system/application/config/config.php中设置
$config['sess\u encrypt\u cookie']=TRUE将激活cookie加密。如果使用
$config['sess\u use\u database']=TRUE
,则cookie本身(存储在客户端)将被加密,但实际会话变量(存储在数据库上)将不会被加密


我的猜测是,这是因为加密存储在服务器端数据库中的数据不像使用cookie存储实际会话变量那样重要,因为用户无论如何都无法查看或修改数据库中的会话变量


需要使用
$config['encryption\u key']
设置加密密钥,加密才能工作。

“加密存储在服务器端数据库中的数据并不重要”,那么为什么我们要在数据库中散列密码呢?假设应用程序将敏感数据存储在数据库中存储的会话中,如信用卡号。我认为应该在会话中存储加密数据,而不管它存储在服务器端还是客户端。