国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結

PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結

2020-07-30 17:44PHP教程網 PHP教程

這篇文章主要介紹了PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結,多種方法總有一種適合你,防止搜索引擎蜘蛛拖死搜索引擎

1、推薦的一種方法:php判斷搜索引擎蜘蛛爬蟲還是人為訪問代碼,摘自Discuz x3.2

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
function checkrobot($useragent=''){
    static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');
    static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');
 
    $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);
    if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
    if(dstrpos($useragent, $kw_spiders)) return true;
    return false;
}
function dstrpos($string, $arr, $returnvalue = false) {
    if(empty($string)) return false;
    foreach((array)$arr as $v) {
        if(strpos($string, $v) !== false) {
            $return = $returnvalue ? $v : true;
            return $return;
        }
    }
    return false;
}
if(checkrobot()){
    echo '機器人爬蟲';
}else{
    echo '人';
}
?>

實際應用中可以這樣判斷,直接不是搜索引擎才執行操作

?
1
2
3
4
5
<?php
if(!checkrobot()){
//do something
}
?>

2、第二種方法:

使用PHP實現蜘蛛訪問日志統計

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$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')." ".$_SERVER["REMOTE_ADDR"]." ".$bot." ".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]." ");
   fclose($fp);
 }

第三種方法:

我們可以通過HTTP_USER_AGENT來判斷是否是蜘蛛,搜索引擎的蜘蛛都有自己的獨特標志,下面列取了一部分。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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代碼附帶了更多的蜘蛛標識

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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 "你不是蜘蛛精啊!";
}

第四種方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if(strpos($tmp, 'Googlebot') !== false){
  $flag = true;
} else if(strpos($tmp, 'Baiduspider') >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: http://www.jfrwli.cn" . $_SERVER['REQUEST_URI']);
  // 自動轉到http://www.jfrwli.cn 對應的網頁
  // $_SERVER['REQUEST_URI'] 為域名后面的路徑
  // 或換成header("Location: http://www.jfrwli.cn/tags.html");
  exit();
}
?>

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产欧美日韩一区二区三区 | 色a视频 | 日韩中文字幕一区二区三区 | 免费在线a | 国产伦精品一区二区三区 | 久久天堂电影 | 久久99视频精品 | 国产成人99久久亚洲综合精品 | 网站黄色在线免费观看 | 国产精品久久99 | 成人免费毛片高清视频 | 精品一区二区三区免费视频 | 久久国产精品无码网站 | 成人高h视频 | 91在线视频免费观看 | 蜜桃精品一区二区 | 午夜精品久久久久久久久久久久 | 亚洲国产精品视频 | 亚洲午夜免费视频 | 欧洲另类二三四区 | 中文字幕视频一区 | 精品国产91乱码一区二区三区 | 日韩成人不卡 | 在线视频一区二区三区 | 狠狠操综合网 | 日韩电影在线免费观看 | 久久久久一区二区三区 | 日本成人片网站 | 欧美大片免费高清观看 | 亚洲三区电影 | 国产精品香蕉在线观看 | 黄色小网站免费观看 | 91精品国产综合久久小仙女陆萱萱 | 蜜桃av噜噜一区二区三区小说 | 二区三区在线 | 亚洲www啪成人一区二区 | 欧美日韩精品久久久 | 亚洲精品电影网在线观看 | 成人av免费 | 日韩视频专区 | 超黄网站在线观看 |