6

我正在一个网站上工作,来自某些国家/地区的访问者正面临 codeigniter 缓存系统的问题。缓存在一两次请求后被删除。经过深入调查,我将 sess_match_ip 和 sess_match_useragent 设置为 FALSE,现在一切正常。

将这些配置保持为 FALSE 是否安全?

谢谢

4

1 回答 1

6

它的安全性稍差一些,但通常是必需的,尤其是在处理移动设备或一组代理服务器后面的用户时。

为确保您尽可能安全,请务必使用数据库进行会话,并确保设置加密密钥和 sess_encrypt_cookie 以便对存储在 cookie 中的少量信息进行混淆。

您可以做的另一件事是将 sess_time_to_update 的配置值降低到甚至小于其默认值 300 秒的值。如果有人确实得到了一个厨师,然后对其进行逆向工程,那么如果 CI 已经创建了一个新的会话 ID,那将毫无用处。

添加于 2017 年 9 月 23 日

对于 Codeigniter 3.x 的发布版本,他们建议使用文件会话与数据库会话。如果您这样做,请务必在您的 config.php 中为会话设置一个不可 Web 访问的文件夹。如果您的主机不允许您设置自定义文件夹,我会坚持使用 db 会话。其余的答案仍然适用。

于 2013-06-11T18:46:19.213 回答