网站禁止所有人访问只允许蜘蛛访问【方法】
下面的代码,是判断蜘蛛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跳转