2011-11-25 54 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(); –