快捷导航
鸿蒙互联网 index 新闻频道 查看内容

鸿蒙互联网 | 检查搜索引擎蜘蛛爬虫真实性 PHP版

2019-11-4 13:01| 发布者: byzps| 查看: 9| 评论: 0|原作者: byzps

摘要: 我们很多时候都会遇到伪造搜索引擎爬虫的UA,但是很多时候又无法判断他的真实性。以下代码,为检验部分搜索引擎真实性的案例,如有更多方法,请回复评论。因为英语不太好,所以下面的内容就有部分中文了。?php if(ge ...
我们很多时候都会遇到伪造搜索引擎爬虫的UA,但是很多时候又无法判断他的真实性。
以下代码,为检验部分搜索引擎真实性的案例,如有更多方法,请回复评论。
因为英语不太好,所以下面的内容就有部分中文了。
  1. <?php
  2. if(getspider()){
  3.         exit('假的搜索引擎!');
  4. }
  5. function getspider(){
  6.         $访问UA = strtolower($_SERVER['HTTP_USER_AGENT']);
  7.           $访问IP = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
  8.           if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
  9.                   $list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
  10.                   $访问IP = $list[0];
  11.           }
  12.           if (!ip2long($访问IP)) $访问IP = '未知IP';
  13.         $访问主机 = str_replace('.', '-', $访问IP);
  14.         if (strpos($访问UA, 'googlebot') !== false){
  15.                 $解析主机 = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  16.                 if ($解析主机 != 'crawl-'.$访问主机.'.googlebot.com') return 'googlebot?';
  17.         }

  18.         if (strpos($访问UA, 'sogou') !== false){
  19.                 $解析主机 = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  20.                 if ($解析主机 != 'sogouspider-'.$访问主机.'.crawl.sogou.com') return 'sogou';
  21.         }
  22.         if (strpos($useragent, 'bing') !== false){
  23.                 $解析主机 = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  24.                 if ($解析主机 != 'msnbot-'.$访问主机.'.search.msn.com') return 'bing';
  25.         }
  26.         if (strpos($访问UA, 'baiduspider') !== false){
  27.                 $解析主机 = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  28.                 if ($解析主机 != 'baiduspider-'.$访问主机.'.crawl.baidu.com') return 'baiduspider?';
  29.         }
  30.         return false;
  31. }
复制代码



鲜花

握手

雷人

路过

鸡蛋

最新评论

相关分类

让创业更简单

  • 反馈建议:byzps@qq.com
  • 客服电话:15573841933
  • 工作时间:周一到周五

云服务支持

精彩文章,快速检索

关注我们

Copyright 鸿蒙 - 期待你的加入~  技术支持:©  子维工作室    ( 渝ICP备19008507号 )