前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何判断蜘蛛的真实性

如何判断蜘蛛的真实性

作者头像
乔千
发布2020-04-16 18:07:00
1.3K1
发布2020-04-16 18:07:00
举报
文章被收录于专栏:用户4667108的专栏

前言

最近又想挖坑了,由于开发的网页模板计划对seo极差,只能单独给出seo页面,但是为了避免滥用,我们也要考虑很多事情那我们又要如何判断蜘蛛是否就是真的蜘蛛呢?

调查文档

网上的大多数方法是根据ua进行判断,我突然想起一个api站点,使用nslookup反查dns来获取蜘蛛是否真实,等等?nslookup是啥? 域名反向解析 让度娘来给你科普下

原理

通过nslookup反向解析蜘蛛ip后我们可以得到域名,通过域名我们可以验证

整理实现

通过测试 nslookup 之后我们获取的是一个固定的主域的子域名,那我们只需要nslookup反查后对其主域进行判断就可以鉴别了。

优化

虽说这种方法看起来不错,但是在实际使用中我的建议 1.先进行ua判断 2.验证有无nslookup缓存 有则真 无则进入3 3.进入nslookup反查 并缓存 这样的好处是速度快 耗时短 对用户优化不错 对攻击者也好防御

贴上部分php代码

获取根域名

代码语言:javascript
复制
     /**
    * 取得根域名
    * @param type $domain 域名
    * @return string 返回根域名
    */
    function GetUrlToDomain($domain) {
$re_domain = '';
$domain_postfix_cn_array = array("com", "net", "org", "gov", "edu", "com.cn", "cn");
$array_domain = explode(".", $domain);
$array_num = count($array_domain) - 1;
if ($array_domain[$array_num] == 'cn') {
    if (in_array($array_domain[$array_num - 1], $domain_postfix_cn_array)) {
        $re_domain = $array_domain[$array_num - 2] . "." . $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
    } else {
        $re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
    }
} else {
    $re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
}
return $re_domain;
  }

核心函数

代码语言:javascript
复制
 gethostbyaddr()
 参数为ip地址 
 返回反查域名

主域资料

//baidu.com 百度蜘蛛 //ny.adsl 360蜘蛛 //googlebot.com 谷歌蜘蛛 //sogou.com 搜狗 //yahoo.com 雅虎 //sm.cn 神马 //bytedance.com 今日头条 //msn.com 必应 这些就是取出蜘蛛nslookup反查域名的主域名部分列表

代码语言:javascript
复制
   例子  php 通过这个api可以反查ip        https://jxwvyc549.hk03.horainwebs.top/s.php?ip=IP地址
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 调查文档
  • 原理
  • 整理实现
  • 优化
  • 贴上部分php代码
    • 获取根域名
      • 核心函数
        • 主域资料
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档