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

yipeiwu_com5年前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);

相关文章

Yii使用smsto短信接口的函数demo示例

本文实例讲述了Yii使用smsto短信接口的函数。分享给大家供大家参考,具体如下: public function smsto($telphone,$message) { /...

PHP下获取上个月、下个月、本月的日期(strtotime,date)

今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一...

PHP实现的62进制转10进制,10进制转62进制函数示例

本文实例讲述了PHP实现的62进制转10进制,10进制转62进制函数。分享给大家供大家参考,具体如下: 百度出来的无法使用,只好自己写,有bug的地方欢迎留言,感谢 function...

php外部执行命令函数用法小结

本文实例讲述了php外部执行命令函数用法。分享给大家供大家参考,具体如下: 首先先要自我检讨一下的,学习和使用php已经前前后后一年多了,研究和使用Linux系统也差不多一年了,我居然不...

PHP图片库imagemagick安装方法

本文较为详细的讲述了PHP图片库imagemagick的安装方法。分享给大家供大家参考。具体方法如下: 1.下载ImageMagick http://www.imagemagick.or...