下面thinkphp框架教程欄目將給大家介紹thinkphp 6是怎么記錄百度等蜘蛛爬取日志,希望對需要的朋友有所幫助!
thinkphp6記錄百度蜘蛛日志:
在控制器的父類如indexbase中寫入以下代碼,所有前端控制器繼承這個控制器
public function initialize() { parent::initialize(); // todo: change the autogenerated stub if ($this->config[\’web_status\’] == 0) { // 判斷是否關閉網(wǎng)站 die(\’網(wǎng)站已經(jīng)關閉\’); } $this->baidulog(); } protected function baidulog() { $useragent = strtolower($_server[\’http_user_agent\’]); $url = $this->request->controller() . \”/\” . $this->request->action(); $param = input(\”param.\”,\”\”,\”htmlspecialchars\”); $url = (string) url($url,$param); $ip = get_real_ip(); $title = \”\”; if (strpos($useragent, \’googlebot\’) !== false){ $title = \’google\’; } elseif (strpos($useragent, \’baiduspider\’) !== false){ $title = \’baidu\’; } elseif (strpos($useragent, \’msnbot\’) !== false){ $title = \’bing\’; } elseif (strpos($useragent, \’slurp\’) !== false){ $title = \’yahoo\’; } elseif (strpos($useragent, \’sosospider\’) !== false){ $title = \’soso\’; } elseif (strpos($useragent, \’sogou spider\’) !== false){ $title = \’sogou\’; } elseif (strpos($useragent, \’yodaobot\’) !== false){ $title = \’yodao\’; } elseif (strpos($useragent, \’googlebot\’) !== false){ $title = \’google\’; } elseif (strpos($useragent, \’baiduspider\’) !== false){ $title = \’baidu\’; } else {// $title = $useragent; // 不怕數(shù)據(jù)大的話可以取消注釋,記錄所有訪問日志 } if (!empty($title)) { baidulog::create([\”title\”=>$title,\”href\”=>$url,\”ip\”=>$ip]); } }