PHP 判断蜘蛛访问的函数,通过 HTTP_USER_AGENT 判断
文 / @WordPress主题
网站开发过程中关于蜘蛛访问的问题
在网站开发过程中,有时候需要进行判断,判断网站的访客是有血有肉的人类,还是蜘蛛。其中一个需要屏蔽蜘蛛访问的情况是统计网站里面文章的访问数量。
有些蜘蛛不是很规矩,需要屏蔽掉。在这种情况下,就需要通过程序直接屏蔽掉这些蜘蛛的访问。
判断蜘蛛访问的代码
判断蜘蛛访问很简单,通过判断HTTP_USER_AGENT中是否包含蜘蛛的特征码,若存在这些特征码,就可以认为这些访问者是蜘蛛。
//蜘蛛ua特征码
$bots=array
(
'GoogleBot'=>'googlebot'
,'GoogleBot'=>'google'
,'MSN'=>'msnbot'
,'Alex'=>'ia_archiver'
,'Lycos'=>'lycos'
,'AskJeeves'=>'jeeves'
,'Altavista'=>'scooter'
,'AllTheWeb'=>'fast-webcrawler'
,'Inktomi'=>'slurp@inktomi'
,'Turnitin.com'=>'turnitinbot'
,'Technorati'=>'technorati'
,'Yahoo'=>'yahoo'
,'Findexa'=>'findexa'
,'NextLinks'=>'findlinks'
,'Gais'=>'gaisbo'
,'WiseNut'=>'zyborg'
,'WhoisSource'=>'surveybot'
,'Bloglines'=>'bloglines'
,'BlogSearch'=>'blogsearch'
,'PubSub'=>'pubsub'
,'Syndic8'=>'syndic8'
,'RadioUserland'=>'userland'
,'Gigabot'=>'gigabot'
,'Become.com'=>'become.com'
,'Baidu'=>'baiduspider'
,'so.com'=>'360spider'
,'Sogou'=>'spider'
,'soso.com'=>'sosospider'
,'Yandex'=>'yandex'
);
$useragent=$_SERVER['HTTP_USER_AGENT'];
foreach($botsas$name=>$lookfor){
if(stristr($useragent,$lookfor)!==false){
$is_robot=true;
break;
}
}
以上代码中的蜘蛛UA特征码并不算全部,但足以判断大多数蜘蛛。如果需要更精确的判断,可参考以下蜘蛛UA列表与浏览器UA列表的链接。
–[蜘蛛UA列表](http://user-agent-string.info/list-of-ua/bots)
–[浏览器UA列表](http://user-agent-string.info/list-of-ua)

相关文章
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02