phpjs怎麼看蜘蛛(php判斷蜘蛛)

本文目錄一覽:

搜索引擎蜘蛛訪問日誌查看器php版如何使用

這個軟件可以查看搜索引擎的蜘蛛訪問記錄,根據這些記錄可以看到蜘蛛什麼時候來訪問過你的站,抓取了什麼內容。

使用方法:把你下載的文件解壓出來有一個目錄為phpzz的目錄吧,把這個一起傳到你的空間根目錄下面,讓後在你的頁面用一下方式調用

!–#include file=”robot.php”– —-插入php頁面調用

SCRIPT src=”robot.php”/SCRIPT —-插入html頁面JS調用

bot.mdb 記錄數據庫

訪問蜘蛛記錄的話就在 你域名後面加上 /phpzz/zhizhu.php可以查看蜘蛛訪問記錄記錄

PHP中如何調用JS代碼實現判斷是否是蜘蛛訪問

這個理論上是無法做到的,因為蜘蛛可以模仿得和瀏覽器點開完全相同。

一般的辦法是判斷瀏覽器的AGENT標誌,一般蜘蛛這裡比較特殊,你看看日期裏面的AGENT就知道如何識別了。

我的代碼如下,可以參考:

搜索引擎蜘蛛訪問日誌查看器(php) v1.0 怎麼使用?

bot.mdb 記錄數據庫 這是access數據庫asp上用的。但看你的提問標題,真的有些難易理解。以下是網上的查的:asp版。你也可以用的,不過得空間支付asp,且你得通過 這句代碼來調用 —-插入html頁面JS調用搜索引擎蜘蛛訪問日誌查看器V1.0(asp版)這個軟件可以查看搜索引擎的蜘蛛訪問記錄,根據這些記錄可以看到蜘蛛什麼時候來訪問過你的站,抓取了什麼內容。使用方法: —-插入asp頁面調用 —-插入html頁面JS調用bot.mdb 記錄數據庫訪問 zhizhu.asp 可以查看蜘蛛訪問記錄記錄優點:1、程序簡潔易用。2、記錄所有爬行的頁面。3、可以批量刪除數據。4、用數據庫記錄而不是txt。不足:1、程序小,功能也少。2、不能記錄返回值,如200 404等。3、適合小型的網站程序,或者流量不是太大的站。4、因為是測試版本功能不多,以後會有更新,現在夠用就好。

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

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

?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 ‘人’;

}

?

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

?php

if(!checkrobot()){

//do something

}

?

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 “你不是蜘蛛精啊!”;

PHP的網站怎麼查詢蜘蛛記錄

這很簡單:$_SERVER[‘HTTP_USER_AGENT’],獲取客戶端瀏覽器的型號,也就是訪問你網站的客戶端用的是什麼瀏覽器,比如:ie firefox……,但如果是蜘蛛,那就型號是什麼呢,我們只要判斷就可以知道了,下面是轉網上的一段流行代碼:?php

function get_naps_bot()

{

$useragent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);

if (strpos($useragent, 『googlebot』) !== false){

return 『Googlebot』;

}

if (strpos($useragent, 『msnbot』) !== false){

return 『MSNbot』;

}

if (strpos($useragent, 』slurp』) !== false){

return 『Yahoobot』;

}

if (strpos($useragent, 『baiduspider』) !== false){

return 『Baiduspider』;

}

if (strpos($useragent, 』sohu-search』) !== false){

return 『Sohubot』;

}

if (strpos($useragent, 『lycos』) !== false){

return 『Lycos』;

}

if (strpos($useragent, 『robozilla』) !== false){

return 『Robozilla』;

}

return false;

}

function nowtime(){

$date=date(「Y-m-d.G:i:s」);

return $date;

}

$searchbot = get_naps_bot();

if ($searchbot) {

$tlc_thispage = addslashes($_SERVER[‘HTTP_USER_AGENT’]);

$url=$_SERVER[‘HTTP_REFERER’];

$file=」robotslogs.txt」;

$time=nowtime();

$data=fopen($file,」a」);

$PR=」$_SERVER[REQUEST_URI]「;

fwrite($data,」Time:$time robot:$searchbot URL:$tlc_thispage\n page:$PR\r\n」);

fclose($data);

}

?

PHP程序中如何判斷來訪者是蜘蛛還是普通用戶?

根據在一定時間打開的鏈接和流量多少來判斷。

如果用腳本的話,可以這樣在全局配置文件里記錄訪問各個頁面的ip地址、訪問時間、訪問的腳本頁面,那麼你根據某個ip在短時間內訪問到多個頁面,就可以認定是蜘蛛,否則為普通用戶。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128729.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • Python怎麼看源碼

    本文將從以下幾個方面詳細介紹Python如何看源碼,幫助讀者更好地了解Python。 一、查看Python版本 在查看Python源碼之前,首先需要確認Python版本。可以在命令…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24

發表回復

登錄後才能評論