外链论坛

 找回密码
 立即注册
搜索
查看: 58|回复: 3

php菜鸟教程:一招教你怎么样识别真假百度蜘蛛

[复制链接]

3008

主题

2万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139175
发表于 2024-8-25 22:08:05 | 显示全部楼层 |阅读模式

本文介绍PHP怎样识别蜘蛛的真实性,重点经过有些组合手段对搜索引擎蜘蛛的真实性进行判断,让虚假蜘蛛无处可逃。我晓得部分站长为了安全起见,都会屏蔽假人拜访然则会对蜘蛛敞开前门倘若此时候有人伪装成蜘蛛,对你的网站为所欲为,那岂不是一点安全感吗?之前我介绍过PHP怎样拜访者是不是搜索引擎的设备(参考文案《PHP怎样识别蜘蛛:全网最新最全蜘蛛整理》),这儿就不对识别蜘蛛的办法进行仔细介绍了,本文重点是介绍怎样识别蜘蛛的真假。

1、识别蜘蛛

判断蜘蛛的真假之前,咱们先来识别蜘蛛。为后面的真假判断工作做好服务。

$tmp= [.$_SERVER[HTTP_USER_AGENT].

];

//获取拜访者UA,这儿在UA数据前后都加了一个]符号,能够不消增多

$tmp= strtolower($tmp);

$ipAddress= $_SERVER[REMOTE_ADDR];

//获取拜访者的IP位置 

if (strpos($tmp, google) !==false) {

    $bot= 谷歌蜘蛛;

} else if (strpos($tmp, bing) > 0) {

    $bot= 必应蜘蛛;

} else if (strpos($tmp, baidu) > 0) {

    $bot= 百度蜘蛛;

} else if (strpos($tmp, bytespider) > 0) {

    $bot= 头条蜘蛛;

}

2、经过蜘蛛IP位置判断蜘蛛的真假

以百度蜘蛛为例,网络上非常多大牛说区别IP段的百度蜘蛛表率区别的蜘蛛性质,然则该信息并得到百度的确认,可能大部分是依靠这些大牛经过海量数据分析而得,均是经验之谈。我收集了部分百度蜘蛛的IP,分享在下面:

116.179.32.*:新版百度蜘蛛,高权重段,通常抓取文案页。IP 段位于山西阳泉联通。百度云计算阳泉中心位置于世界最大中文搜索引擎百度机构创始人李彦宏的家乡山西省阳泉经济研发区东区。

220.181.108.75:重点抓取更新文案的内页达到 90%,8%抓取首页,2%其他。权重 IP 段,爬过的文案或首页基本 24 小时放出来。 220.181.108.77:专用抓首页 IP 权重段,通常返回代码是 304 0 0 表率未更新。

220.181.108.80:专用抓取首页 IP 权重段,通常返回代码是 304 0 0 表率未更新。 

220.181.108.82:抓取tag页面。 

220.181.108.83:专用抓取首页 IP 权重段,通常返回代码是 304 0 0 表率未更新。

220.181.108.86:专用抓取首页 IP 权重段,通常返回代码是 304 0 0 表率未更新。 

220.181.108.89:专用抓取首页 IP 权重段,通常返回代码是 304 0 0 表率未更新。 

220.181.108.91:属于综合的,重点抓取首页和内页或其他,属于权重 IP 段,爬过的文案或首页基本 24 小时放出来。

220.181.108.92:同上 98%抓取首页,可能还会抓取其他 (不指的是内页),属于权重 IP 段此段爬过的文案或首页基本 24 小时放出来。 

220.181.108.94:专用抓取首页 IP 权重段,通常返回代码是 304 0 0 表率未更新。 

220.181.108.93:重点抓取内页,爬过的文案或首页基本 24 小时放出来。

220.181.108.95:这个是百度抓取首页的专用 IP,如是 220.181.108 段的话,基本来讲你的网站会天天隔夜快照。

...此处省略一万个汉字...

这儿就不对蜘蛛的IP段进行全面的展示了,免得把专题扯远了,大众可以去网上自动收集百度蜘蛛的所有IP位置。接着上面的PHP代码:

$baiduips=[220.181.108.75, 220.181.108.80, 220.181.108.82, 220.181.108.89, 220.181.108.94, 220.181.108.95];

if ($bot== 百度蜘蛛) {

    foreach($baiduips as $value) {

        if ($ipAddress== $value) {

            $bot= 百度蜘蛛[真];

        } else {

            $bot= 百度蜘蛛[假];

        }

    }

运用IP对蜘蛛的真假性进行判断需要你搜集的IP足够全面和准确,否则会影响咱们对蜘蛛真假判断的准确性。其他蜘蛛的IP需您自动进行收集。

3、经过查找蜘蛛IP的DNS记录进行判断

倘若你搜集的蜘蛛IP数据不足全面,但你依然运用了IP位置比对办法来进行判断,咱们能够经过查找蜘蛛IP的DNS记录进行判断,增多靠谱性。想要查找一个IP的DNS记录,咱们能够运用PHP内置函数gethostbyaddr()来进行查找倘若查找到IP的DNS记录就会返回原IP。接着上面的PHP代码:

if ($bot= 百度蜘蛛[假]) {

    $domainName= gethostbyaddr($ipAddress); //获取IP的DNS记录 

if (strpos($domainName, baidu.com) !==false) {

        $bot= 百度蜘蛛[真];

    } else {

        $bot= 百度蜘蛛[假];

    }

}

以上代码只是对百度蜘蛛进行了简单的判断,本文分享几个其他的重点蜘蛛的DNS记录:

百度蜘蛛:DNS记录需包含(baidu.com)

谷歌蜘蛛:DNS记录需包含(googlebot.com)

必应蜘蛛:DNS记录需包含(search.msn.com)

头条蜘蛛:DNS记录需包含(compute.amazonaws.com)

以上这四个蜘蛛是分析于我网站的蜘蛛数据,至于同一个蜘蛛是不是还有其他的DNS记录,需要更加多的数据进行分析,搜索引擎官方的通告。

经过经过查找蜘蛛IP的DNS记录进行判断蜘蛛的真假是不是可行呢?咱们能够写个简单的代码进行测试一下:

// 假设$ip是您想查找的IP位置 

$ipAddress= 220.181.108.75; // 执行逆向 DNS 查找 

$domainName= gethostbyaddr($ipAddress);

// 打印结果

if ($domainName) {

echo "IP位置:".$ipAddress.

    DNS记录:.$domainName;

} else {

    echo "无DNS记录:".$ipAddress;

}

if ($ipAddress== gethostbyaddr($ipAddress)) {

    echo 无耻!;

} else {

    echo 牛逼!;

} ?>

注释:该代码取了一个咱们前面收集的百度蜘蛛IP中的几个个IP进行测试。

测试一:百度IP220.181.108.75

测试结果:IP位置:220.181.108.75DNS记录:baiduspider-220-181-108-75.crawl.baidu.com

测试二:百度IP220.181.108.91

测试结果:IP位置:220.181.108.91DNS记录:baiduspider-220-181-108-91.crawl.baidu.com牛逼!

测试三:谷歌蜘蛛IP66.249.71.9

测试结果:IP位置:66.249.71.9DNS记录:crawl-66-249-71-9.googlebot.com牛逼!

可见该办法有些正规的蜘蛛还是比较适用的。况且比蜘蛛IP比对法省事得多。

4、总结

本文重点介绍了经过蜘蛛IP位置判断蜘蛛的真假和经过查找蜘蛛IP的DNS记录来判断蜘蛛的真假,一般状况下,两种发放一块用,能够供给准确率。基本上能够排除大部分经过技术手段伪造的假蜘蛛。

这儿我还分析几个反常的UA特征:

Wordup-1

PycURL

curl/7.29.0

okhttp

python

Python-urllib/3.10

Dalvik/2.1.0

Go-http-client/1.1

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0

倘若你的UA数据能够匹配这些UA特征,能够直接封禁,经过自己网站的数据进行分析判断,她们基本干啥好事。当然UA数据为空的能够屏蔽掉,基本都是设备

回复

使用道具 举报

12

主题

640

回帖

3

积分

新手上路

Rank: 1

积分
3
发表于 2024-9-6 01:33:20 | 显示全部楼层
期待你更多的精彩评论,一起交流学习。
回复

使用道具 举报

3027

主题

2万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99099001
发表于 2024-10-2 17:50:37 | 显示全部楼层
外链发布论坛学习网络优化SEO。
回复

使用道具 举报

3083

主题

2万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968825
发表于 2024-10-3 02:52:51 | 显示全部楼层
楼主的文章非常有意义,提升了我的知识水平。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-5 21:43 , Processed in 0.085667 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.