本站所有内容仅限用于学习和研究目的,如有侵权请邮件与我们联系处理!
世上事本无难易,为之则易!

网站首页 站群教程 站群优化教程 正文

通过IP段屏蔽游客访问的PHP代码

曹操 2023-01-12 站群优化教程 1478 ℃ 1 评论 3441字 free 收藏

小旋风蜘蛛池pro版本中的蜘蛛IP配置中,不仅可以通过经典的UA识别蜘蛛,还可以通过IP段识别蜘蛛,并可以做到双重识别。通过IP段识别蜘蛛,可以实现访客屏蔽,哪怕游客模拟蜘蛛抓取,都看不到真实页面HTML。

通过IP段屏蔽游客访问的PHP代码-第1张图片

在“新程序已上线”最新的“给大家科普一下XXXXX”泛二级程序中,可以看到获取访客IP地址,并通过IP判断是否可以访问允许查看,如果不在访客IP设置的IP段内,则直接跳转到自定义文件,如404.html就可以了。

具体代码如下:

<?php
$arr = array('220.196.160','220.181.32','220.181.7','220.181.68','220.181.51','104.233.164','113.24.225','220.181.108','220.181.32','194.233.65','193.42.114','185.244.39','180.149.133','180.76.15','180.76.5','158.247.209','149.248.20','149.28.225','149.28.84','144.202.122','139.180.200','124.166.232','123.125.71','123.125.66','119.63.199','119.63.198','116.179.37','116.179.32','111.206.198');
//获取访客的IP地址,并转成数组
$iparr = explode('.',$_SERVER['REMOTE_ADDR']);
//取前三个元素组合IP段,如 220.181.108
$spiderid = $iparr[0].'.'.$iparr[1].'.'.$iparr[2];
if(in_array($spiderid,$arr)){
echo '请继续浏览网站内容!';
}else{
//header("Location:https://www.baidu.com");
$url='502.php'; //根目录随便的文件(可以自定义php或者静态文件)
$html= file_get_contents($url);
echo $html;//输出你展示给非蜘蛛内容(可以是屏蔽访客也可以做跳转)
exit();
}
?>

一般来说,我们只允许百度权重蜘蛛查看,所以只需要设置220.181和116.179的IP端就可以了。

之前我们也发过类似的《通过伪静态对垃圾蜘蛛返回403,对游客返回503的设置方法》,也可以实现一样的效果。

说到获取访客IP,之前有做过一个网站,只给特定用户查看。后来发现很多用户不自觉,分享网站给其他人查看,于是还特意做了个记录访客IP的php,可以记录排除指定ip段以外的访客IP。写的代码加了充分的注释,有兴趣的可以自行查看。

<?php
error_reporting(E_ERROR);
//获取访客IP
$ip = $_SERVER["REMOTE_ADDR"];
//balance目录下作为结算文件,文件名为ip.txt
$file_path = "balance/" . $ip . '.txt';
//获取旧有文件时间
$oldtime = date("Y-m-d", fileatime($file_path));
//获取系统时间
$newbodytime = date("Y-m-d", time());
//首先获取允许记录的ip.txt,如果访问本页面的ip在允许记录的ip内,则记录
$file = 'ip.txt';
$allow = file_get_contents($file);
if(strpos($allow,$ip) !== false){ 
    //如果系统时间不等于文件时间
    if ($oldtime != $newbodytime) {
        //首先先计次
        $body = file_get_contents($file_path);
        $newbody = number_format($body) + 1;
        unlink($file_path);
        file_put_contents($file_path, $newbody, FILE_APPEND);
        //同时也输入详细日志
        //详细日志在log目录下,记录详细的启动文件,文件名为ip.txt
        $log_path = "log/" . $ip . '.txt';
        $date = date("Y-n-j H:i:s", time());;
        $log_body = "OpenTime:$date\n";
        file_put_contents($log_path, $log_body, FILE_APPEND);
    }
}
echo $log_body;
?>

有些跑题了,上面的代码不过是将访客IP记录成txt而已,在Zblog中整合好的访客IP记录插件,更美观。

通过IP段屏蔽游客访问的PHP代码-第2张图片

结合对访客IP的记录,加一个判断验证,非允许的IP段则跳转。

只不过常见的是通过UA判断蜘蛛、设备跳转,这个IP段跳转限制更大而已,非需要特定蜘蛛,一般不需要使用。


Tags:小旋风蜘蛛池蜘蛛根目录蜘蛛池伪静态

必看说明

  • 本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。
  • 本站文章或仅为文本内容原创,非程序原创。如有侵权、不妥之处,请联系站长第一时间删除。敬请谅解!
  • 本站所有内容严格遵守国家法律的条例,所有研究的算法技术均来源于搜索引擎公开默认允许用户研究使用的接口。
  • 阅读本文及获取资源前,请确保您已充分阅读并理解《访问曹操SEO网站需知:行为准则》。
  • 本站分享的任何工具、程序仅供学习参考编写架构,仅可在本地的虚拟机内断网测试,严禁联网运行或上传搭建!
  • 任何资源必须在下载后24个小时内,从电脑中彻底删除。不得传播或者用于其他任何用途!否则一切后果用户自负!
  • 转载请注明 : 文章转载自  曹操SEO 通过IP段屏蔽游客访问的PHP代码
  • 本文标题:《通过IP段屏蔽游客访问的PHP代码》
  • 本文链接:https://www.ccooc.cn/1864.html

已有1位网友发表了看法:

  • 访客

    访客  评论于 [2023-01-12 12:16:42]  回复

    深入浅出的分析,曹哥牛啊!

欢迎 发表评论:

网站分类
近期评论
文章归档
标签列表
站点信息
  • 文章总数:2024
  • 页面总数:7
  • 分类总数:46
  • 标签总数:340
  • 评论总数:9280
  • 浏览总数:5746312