如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户",在日常操作中,相信很多人在如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2026年11月03日如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户
这篇文章主要介绍"如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户",在日常操作中,相信很多人在如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、推荐的一种方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码,摘自Discuz x3.2
实际应用中可以这样判断,直接不是搜索引擎才执行操作
2、第二种方法:
使用PHP实现蜘蛛访问日志统计
$useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';} elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';} elseif (strpos($useragent,'baiduspider') !== false){$bot = 'Baidu';} elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';} elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';} elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';} elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';} elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';} elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';} elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';} elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';} elseif (strpos($useragent,'yodaoBot') !== false){$bot = 'Yodao';} elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';} elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';} elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';} elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';} elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';} if(isset($bot)){ $fp = @fopen('bot.txt','a'); fwrite($fp,date('Y-m-d H:i:s')."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."\r\n"); fclose($fp); }第三种方法:
我们可以通过HTTP_USER_AGENT来判断是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志,下面列取了一部分。
function is_crawler() { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); $spiders = array( 'Googlebot', // Google 爬虫 'Baiduspider', // 百度爬虫 'Yahoo! Slurp', // 雅虎爬虫 'YodaoBot', // 有道爬虫 'msnbot' // Bing爬虫 // 更多爬虫关键字 ); foreach ($spiders as $spider) { $spider = strtolower($spider); if (strpos($userAgent, $spider) !== false) { return true; } } return false; }下面的php代码附带了更多的蜘蛛标识
function isCrawler() { echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']); if (!empty($agent)) { $spiderSite= array( "TencentTraveler", "Baiduspider+", "BaiduGame", "Googlebot", "msnbot", "Sosospider+", "Sogou web spider", "ia_archiver", "Yahoo! Slurp", "YoudaoBot", "Yahoo Slurp", "MSNBot", "Java (Often spam bot)", "BaiDuSpider", "Voila", "Yandex bot", "BSpider", "twiceler", "Sogou Spider", "Speedy Spider", "Google AdSense", "Heritrix", "Python-urllib", "Alexa (IA Archiver)", "Ask", "Exabot", "Custo", "OutfoxBot/YodaoBot", "yacy", "SurveyBot", "legs", "lwp-trivial", "Nutch", "StackRambler", "The web archive (IA Archiver)", "Perl tool", "MJ12bot", "Netcraft", "MSIECrawler", "WGet tools", "larbin", "Fish search", ); foreach($spiderSite as $val) { $str = strtolower($val); if (strpos($agent, $str) !== false) { return true; } } } else { return false; } } if (isCrawler()){ echo "你好蜘蛛精!"; } else{ echo "你不是蜘蛛精啊!"; }第四种方法:
0){ $flag = true;} else if(strpos($tmp, 'Yahoo! Slurp') !== false){ $flag = true;} else if(strpos($tmp, 'msnbot') !== false){ $flag = true;} else if(strpos($tmp, 'Sosospider') !== false){ $flag = true;} else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){ $flag = true;} else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){ $flag = true;} else if(strpos($tmp, 'fast-webcrawler') !== false){ $flag = true;} else if(strpos($tmp, 'Gaisbot') !== false){ $flag = true;} else if(strpos($tmp, 'ia_archiver') !== false){ $flag = true;} else if(strpos($tmp, 'altavista') !== false){ $flag = true;} else if(strpos($tmp, 'lycos_spider') !== false){ $flag = true;} else if(strpos($tmp, 'Inktomi slurp') !== false){ $flag = true;}if($flag == false){ header("Location: https://www.jb51.net" . $_SERVER['REQUEST_URI']); // 自动转到https://www.jb51.net 对应的网页 // $_SERVER['REQUEST_URI'] 为域名后面的路径 // 或换成header("Location: https://www.jb51.net/abc/d.php"); exit();}?>到此,关于"如何利用PHP判断来访是搜索引擎蜘蛛还是普通用户"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
蜘蛛
引擎
搜索引擎
搜索
爬虫
还是
方法
普通
用户
更多
学习
代码
蜘蛛精
雅虎
帮助
实用
独特
接下来
你好
关键
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京路客互联网科技有限公司
科技类互联网
互联网科技作文
杭州互联网科技公司
广州宏创互联网科技
九亚互联网科技
广州紫鲸互联网科技
互联网金融 科技创新
美国互联网前沿科技
互联网科技股午盘股票涨跌
新华互联网科技校企合作
互联网金融科技公司干啥的
湖北码尼互联网科技有限公司电话
智腾互联网科技有限公司
知域互联网科技有限公司大骗子
移动互联网年度科技创新
滨湖区互联网智能科技产品有哪些
浙南科技城互联网大厦招聘
唐山双旺合互联网科技产业园
瑞安市蟠桃会互联网科技有限公司
美国互联网保险保险科技
时间互联网络科技
华夏互联网科技业
未来五年的互联网科技
恒生互联网科技指数跳水
银川新华互联网科技学校联系电话
保险科技服务互联网营销体系
扫呗互联网科技有限公司
恒生科技互联网指数十大成分股
株洲百竞科技的互联网营销顾问