下面thinkphp框架教程栏目将给大家介绍ThinkPHP 6是怎么记录百度等蜘蛛爬取日志,希望对需要的朋友有所帮助!
thinkphp6记录百度蜘蛛日志:
在控制器的父类如IndexBase中写入以下代码,所有前端控制器继承这个控制器
public function initialize() { parent::initialize(); // TODO: Change the autogenerated stub if ($this->Config[\’web_status\’] == 0) { // 判断是否关闭网站 die(\’网站已经关闭\’); } $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; // 不怕数据大的话可以取消注释,记录所有访问日志 } if (!empty($title)) { BaiduLog::create([\”title\”=>$title,\”href\”=>$url,\”ip\”=>$ip]); } }
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn