2011-11-25 55 views
0

我正在按照User Guide中的建议将Codeigniter会话保存到数据库。 我也有一些cronjobs(wget)正在运行,其中一些,每分钟和我的ci_sessions表都会在几分钟内获得数千条记录。Codeigniter会话:忽略Wget/1.9.1

我不需要或想要保存user_agent为Wget/1.9.1的会话记录。

任何想法如何做到这一点?

谢谢。

回答

0

这看起来像是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 */ 
} 
+0

嗯,它是有道理的,但我不明白什么代码笑我把它放在else语句中。 CI自动处理会话,这不是我控制的某些会话数据。 – AFRC

+0

如果检测到Wget,请调用:$ this-> session-> sess_destroy();否则,添加您发现与会话相关的数据:$ this-> session-> set_userdata(); –