用php实现让页面只能被百度gogole蜘蛛访问的方法
程序员文章站
2023-11-09 22:36:58
普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent,看网站日志文件能发现百度蜘蛛名字包含baiduspider, 而google的则是googlebot, 这样...
普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent,
看网站日志文件能发现百度蜘蛛名字包含baiduspider, 而google的则是googlebot, 这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:
function isallowaccess($directforbidden = false) {
$allowed = array('/baiduspider/i', '/googlebot/i');
$user_agent = $_server['http_user_agent'];
$valid = false;
foreach ($allowed as $pattern) {
if (preg_match($pattern, $user_agent)) {
$valid = true;
break;
}
}
if (!$valid && $directforbidden) {
exit("404 not found");
}
return $valid;
}
在要禁止访问的页面头部引用这个函数来做判断就ok了,如下俩中调用方式:
if (!isallowaccess()) {
exit("404 not found");
}
//或者
isallowaccess(true);
看网站日志文件能发现百度蜘蛛名字包含baiduspider, 而google的则是googlebot, 这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:
复制代码 代码如下:
function isallowaccess($directforbidden = false) {
$allowed = array('/baiduspider/i', '/googlebot/i');
$user_agent = $_server['http_user_agent'];
$valid = false;
foreach ($allowed as $pattern) {
if (preg_match($pattern, $user_agent)) {
$valid = true;
break;
}
}
if (!$valid && $directforbidden) {
exit("404 not found");
}
return $valid;
}
在要禁止访问的页面头部引用这个函数来做判断就ok了,如下俩中调用方式:
复制代码 代码如下:
if (!isallowaccess()) {
exit("404 not found");
}
//或者
isallowaccess(true);
上一篇: 关于页面优化和伪静态