0
我正在按照User Guide中的建议将Codeigniter会话保存到数据库。 我也有一些cronjobs(wget)正在运行,其中一些,每分钟和我的ci_sessions表都会在几分钟内获得数千条记录。Codeigniter会话:忽略Wget/1.9.1
我不需要或想要保存user_agent为Wget/1.9.1的会话记录。
任何想法如何做到这一点?
谢谢。
我正在按照User Guide中的建议将Codeigniter会话保存到数据库。 我也有一些cronjobs(wget)正在运行,其中一些,每分钟和我的ci_sessions表都会在几分钟内获得数千条记录。Codeigniter会话:忽略Wget/1.9.1
我不需要或想要保存user_agent为Wget/1.9.1的会话记录。
任何想法如何做到这一点?
谢谢。
这看起来像是User Agent Class的工作!
手动加载它之后:
$this->load->library('user_agent');
或由配置在/application/config/autoload.php:
$autoload['libraries'] = array('user_agent');
然后,可以检查用以下代码的用户代理:
if (stristr($this->agent->agent_string(), 'wget') != FALSE)
{
/* wget detected, don't save sessions */
}
else
{
/* sessions can be saved */
}
嗯,它是有道理的,但我不明白什么代码笑我把它放在else语句中。 CI自动处理会话,这不是我控制的某些会话数据。 – AFRC
如果检测到Wget,请调用:$ this-> session-> sess_destroy();否则,添加您发现与会话相关的数据:$ this-> session-> set_userdata(); –