用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 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
PHP内核探索之变量
Dec 22 PHP
thinkPHP中分页用法实例分析
Dec 26 PHP
PHP的自定义模板引擎
Mar 24 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
php实现记事本案例
Oct 20 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设计模式中的工厂模式
2008/06/12 PHP
php全角字符转换为半角函数
2014/02/07 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
[JS]点出统计器
2020/10/11 Javascript
Prototype使用指南之array.js
2007/01/10 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
详解Python self 参数
2019/08/30 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
如何用python 操作zookeeper
2020/12/28 Python
使用python实现学生信息管理系统
2021/02/25 Python
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
房产销售经理职责
2013/12/20 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
文明班级建设方案
2014/05/15 职场文书
公共场所禁烟标语
2014/06/25 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis