用php实现让页面只能被百度gogole蜘蛛访问的方法

yipeiwu_com7年前PHP代码库
普通用户与搜索引擎蜘蛛爬行的区别在于发送的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);

相关文章

yum命令安装php7和相关扩展

安装php7和相关扩展 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.n...

php投票系统之增加与删除投票(管理员篇)

php投票系统之增加与删除投票(管理员篇)

关于投票系统怎么样怎么样的引言就不多说,这不是毕业设计,主要说一下使用php实现投票系统,与其他普通系统一样,分为两部分,一个是管理员部分,一个是普通用户部分。 关于投票系统的管理部分,...

php实现的mongodb操作类实例

本文实例讲述了php实现的mongodb操作类。分享给大家供大家参考。具体如下: <?php /* * To change this template, choo...

java模拟PHP的pack和unpack类

本文实例为大家分享了java模拟PHP的pack和unpack类的具体代码,供大家参考,具体内容如下 package qghl.intp.util; import java.io...

PHP响应post请求上传文件的方法

本文实例讲述了PHP响应post请求上传文件的方法。分享给大家供大家参考,具体如下: function send_file($url, $post = '', $file = '')...