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

use*_*873 2 database encryption session codeigniter

我已经读过,使用数据库存储会话变量比将它们放入cookie更安全.

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

每个人都说最好在数据库中存储会话变量时使用加密,但我不确定是否还有其他选项需要打开,以便加密发生.

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

小智 5

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

设置$config['sess_encrypt_cookie'] = TRUE在系统/应用/配置/ config.php文件将激活饼干加密.如果使用$config['sess_use_database'] = TRUE,那么cookie本身(存储的客户端)将被加密,但实际的会话变量(存储在数据库中)不会.

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

需要设置加密密钥才能$config['encryption_key']使加密工作.