我正在开发一个网站,来自某些国家/地区的访问者在使用codeigniter缓存系统时遇到问题。一两个请求后删除缓存。经过深入调查后,我将sess_match_ip和sess_match_useragent变为FALSE,现在一切正常。
将这些配置保持为FALSE是否安全?
谢谢
答案 0 :(得分:2)
安全性稍差,但通常需要它,特别是在处理代理服务器组后面的移动设备或用户时。
为了确保您尽可能安全,请务必使用数据库进行会话,并确保设置加密密钥和sess_encrypt_cookie,以便对cookie中存储的少量信息进行模糊处理。
您可以做的另一件事是将sess_time_to_update的配置值降低到甚至低于其默认值300秒的值。如果有人确实获得了一个cooke,然后对其进行逆向工程,那么如果CI已经创建了一个新的会话ID,那将毫无用处。
于2017年9月23日添加
使用Codeigniter 3.x的发行版本,他们建议使用文件会话与数据库会话。如果您这样做,请务必在config.php中为会话设置非Web可访问文件夹。如果您的主机不允许您设置自定义文件夹,我会坚持使用数据库会话。其余的答案仍然适用。