小旋风蜘蛛池pro版本中的蜘蛛IP配置中,不仅可以通过经典的UA识别蜘蛛,还可以通过IP段识别蜘蛛,并可以做到双重识别。通过IP段识别蜘蛛,可以实现访客屏蔽,哪怕游客模拟蜘蛛抓取,都看不到真实页面HTML。
在“新程序已上线”最新的“给大家科普一下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:$daten";
file_put_contents($log_path, $log_body, FILE_APPEND);
}
}
echo $log_body;
?>
有些跑题了,上面的代码不过是将访客IP记录成txt而已,在Zblog中整合好的访客IP记录插件,更美观。
结合对访客IP的记录,加一个判断验证,非允许的IP段则跳转。
只不过常见的是通过UA判断蜘蛛、设备跳转,这个IP段跳转限制更大而已,非需要特定蜘蛛,一般不需要使用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件举报,一经查实,本站将立刻删除。