PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2023-06-13 09:14:47 时间
PHP屏蔽蜘蛛访问代码代码:
常用搜索引擎名与HTTP_USER_AGENT对应值
百度baiduspider
谷歌googlebot
搜狗sogou
腾讯SOSOsosospider
雅虎slurp
有道youdaobot
Bingbingbot
MSNmsnbot
Alexais_archiver
functionis_crawler(){ $userAgent=strtolower($_SERVER["HTTP_USER_AGENT"]); $spiders=array( "Googlebot",//Google爬虫 "Baiduspider",//百度爬虫 "Yahoo!Slurp",//雅虎爬虫 "YodaoBot",//有道爬虫 "msnbot"//Bing爬虫 //更多爬虫关键字 ); foreach($spidersas$spider){ $spider=strtolower($spider); if(strpos($userAgent,$spider)!==false){ returntrue; } } returnfalse; }
下面的php代码附带了更多的蜘蛛标识
functionisCrawler(){ echo$agent=strtolower($_SERVER["HTTP_USER_AGENT"]); if(!empty($agent)){ $spiderSite=array( "TencentTraveler", "Baiduspider+", "BaiduGame", "Googlebot", "msnbot", "Sosospider+", "Sogouwebspider", "ia_archiver", "Yahoo!Slurp", "YoudaoBot", "YahooSlurp", "MSNBot", "Java(Oftenspambot)", "BaiDuSpider", "Voila", "Yandexbot", "BSpider", "twiceler", "SogouSpider", "SpeedySpider", "GoogleAdSense", "Heritrix", "Python-urllib", "Alexa(IAArchiver)", "Ask", "Exabot", "Custo", "OutfoxBot/YodaoBot", "yacy", "SurveyBot", "legs", "lwp-trivial", "Nutch", "StackRambler", "Thewebarchive(IAArchiver)", "Perltool", "MJ12bot", "Netcraft", "MSIECrawler", "WGettools", "larbin", "Fishsearch", ); foreach($spiderSiteas$val){ $str=strtolower($val); if(strpos($agent,$str)!==false){ returntrue; } } }else{ returnfalse; } } if(isCrawler()){ echo"你好蜘蛛精!"; } else{ echo"你不是蜘蛛精啊!"; }
使用PHP实现蜘蛛访问日志统计
$useragent=addslashes(strtolower($_SERVER["HTTP_USER_AGENT"])); if(strpos($useragent,"googlebot")!==false){$bot="Google";} elseif(strpos($useragent,"mediapartners-google")!==false){$bot="GoogleAdsense";} elseif(strpos($useragent,"baiduspider")!==false){$bot="Baidu";} elseif(strpos($useragent,"sogouspider")!==false){$bot="Sogou";} elseif(strpos($useragent,"sogouweb")!==false){$bot="Sogouweb";} 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-dH:i:s")."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t"."http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]."\r\n"); fclose($fp); }
相关文章
- PHP和PHPINFO
- PHP在线网盘文件分享源码文件共享源码Cloud File Transfer v1.0
- 探寻Linux下PHP路径之旅(linux查看php路径)
- php json_decode无法处理/解决方法详解编程语言
- PHP专业连接MySQL:实现快速代码.(php连接mysql数据库代码)
- PHP中实现Redis队列的挑战与实践(php队列redis)
- 网站利用 PHP 与 MySQL 构建网站.(php和mysql开发)
- 怎么办解决PHP中断MySQL连接的办法(php没有mysql)
- PHP添加MySQL扩展:快速实现数据库连接(php添加mysql扩展)
- PHP读取Linux文件的方法(php读取linux文件)
- 用Redis作为PHP缓存:提高性能和效率(php中redis做缓存)
- 使用php快速配置MSSQL环境(php配置mssql)
- 技术使用PHP与MSSQL高效连接:实现无缝关联(php连接mssql的)
- PHP踩坑指南:如何摆脱MSSQL的困扰?(php 没有mssql)
- PHP如何连接MS SQL服务器(php怎么链接mssql)
- PHP与MSSQl的兼容性探索(php mssql 兼容)
- Linux下实现高效的PHP配置(linux下php配置)
- 混合开发助力企业信息化C语言PHP和MySQL联动提升系统性能(c php mysql)
- ASP和PHP都是可以删除自身的
- PHP为表单获取的URL地址预设http字符串函数代码
- php的ajax框架xajax入门与试用介绍
- 重新封装zend_soap实现http连接安全认证的php代码
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php
- 用PHP读取超大文件的实例代码
- PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
- php把数据表导出为Excel表的最简单、最快的方法(不用插件)