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


Posted in PHP onDecember 29, 2009

普通用户与搜索引擎蜘蛛爬行的区别在于发送的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);
PHP 相关文章推荐
用PHP调用数据库的存贮过程
Oct 09 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 PHP
php实现图片添加描边字和马赛克的方法
Dec 10 PHP
php提交表单发送邮件的方法
Mar 20 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
轻松掌握php设计模式之访问者模式
Sep 23 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
PHP类的使用 实例代码讲解
Dec 28 #PHP
php 多线程上下文中安全写文件实现代码
Dec 28 #PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 #PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 #PHP
php 需要掌握的东西 不做浮躁的人
Dec 28 #PHP
php 文章采集正则代码
Dec 28 #PHP
PHP array_push 数组函数
Dec 26 #PHP
You might like
PHP大文件分割分片上传实现代码
2020/12/09 PHP
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python正则表达式使用范例分享
2016/12/04 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
Django多数据库的实现过程详解
2019/08/01 Python
python装饰器的特性原理详解
2019/12/25 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
python 安装impala包步骤
2020/03/28 Python
在python中求分布函数相关的包实例
2020/04/15 Python
如何用PyPy让你的Python代码运行得更快
2020/12/02 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
个人授权委托书范本
2014/04/03 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS