我正在Codeigniter上开发一个网站(使用购物车),并且想要使用sess_use_database设置,以使用户更难以破解购物车会话。Codeigniter - 如何避免会话的数据库缓存
我也想用数据库高速缓存来加快公共DB请求(如“获取类”,因为大多数DB内容不会定期更换),所以我已经启用此设置:
$db['development']['cache_on'] = TRUE;
//where 'development' is my environment
结果,我发现会议内容未在此请求被刷新,例如:
$this->basket_contents = array_values($this->session->userdata('basket_contents'));
而且,我已经试过这样:
$this->db->cache_off();
...在会话请求之前,但它不能解决问题(我假设,因为它不是直接的DB请求)。
我会setings如下:
$config['sess_cookie_name'] = 'str_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
我可以防止会话相关的数据库请求的缓存?或者阻止某些表被缓存?
或者有没有想过的另一个(可能很明显)的解决方案?
在此先感谢。
太好了,谢谢。我将从第一个选项开始。 – Ade 2010-12-13 23:52:21