禁止所有人访问只可以蜘蛛访问【方法】如何禁止所有人访问只可以蜘蛛的?

宝塔面板这方面怎么设置?

方法1:把蜘蛛的IP地址设置为白名单就行;

方法2:直接DNS解析处理;

方法3:通过代码来实现;

思路:判断UA

凡是通过浏览器访问网站的,都有UA标记。

经过我的实测,判断ua不能百分百,还得加一个ip判断 双保险;

之前在坛子里分享过“躲BA审核网站名字”的源码,然后给了个红包叫我朋友改了下

下面的代码,是判断蜘蛛ua,除了蜘蛛全部跳转到某个页面(我自己弄了个静态的index.html)

代码如下:

//判断蜘蛛函数
function find_spider(){
$useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : '');
$spider_arr=array(
'bot',
'spider',
'slurp',
'ia_archiver',
);
foreach($spider_arr as $spider){
$spider = strtolower($spider);
if(strstr($useragent,$spider)){
return true;
}
}
return false;
}

 

if (!find_spider()){
header('Location: /index.html');
exit();
}

 

//判断蜘蛛函数 function find_spider(){ $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : ''); $spider_arr=array( 'bot', 'spider', 'slurp', 'ia_archiver', ); foreach($spider_arr as $spider){ $spider = strtolower($spider); if(strstr($useragent,$spider)){ return true; } } return false; } if (!find_spider()){ header('Location: /index.html'); exit(); }

 

把这个代码加到首页就可以哦!

最后的if判断的话,换成下面的也行,就不用静态页面
if(!find_spider()){
  exit("正在维护!");
}

声明:本站所有内容/本文内容/及图片/由互联网用户投稿自发贡献,该文观点仅代表其作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭/侵权/违法违规的内容, 请发送邮件至 123456@qq.com 举报,一经查实,本站将立刻删除。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。