禁止所有人访问只可以蜘蛛访问【方法】如何禁止所有人访问只可以蜘蛛的?
宝塔面板这方面怎么设置?
方法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 举报,一经查实,本站将立刻删除。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。