网站禁止所有人访问只允许蜘蛛访问【方法】

作者:大公子 时间:23-05-17 阅读数:163人阅读

下面的代码,是判断蜘蛛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();
}

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

网站禁止所有人访问只允许蜘蛛访问【方法】



nginx设置只允许蜘蛛访问其他访问为404或者301跳转

ngxinx设置只允许百度360蜘蛛访问,其他任何IP或者蜘蛛访问为404状态
if ($http_user_agent !~* "Baidu|Yisou|Sogou|Google|360")
{
return 404;
}
实测浏览器打开为404状态,网站日志百度蜘蛛为200正常状态。

设置只允许百度360蜘蛛访问,访客浏览器跳转
if ($http_user_agent !~* "Baidu|Yisou|Sogou|Google|360")
{
return 301 http://www.hao123.com;

}
解释:这个是,非这几个蜘蛛,就301跳转到hao123.com

if ($http_user_agent !~* "Baidu|Yisou|Sogou|Google|6531.22.7")
{
return 302 http://www.baidu.com;

}
解释: 这是302跳转