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(); –