用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函数解决SQL injection
Oct 09 PHP
利用 window_onload 实现select默认选择
Oct 09 PHP
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
typecho插件编写教程(二):写一个新插件
May 28 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
thinkphp分页集成实例
Jul 24 PHP
浅谈Laravel核心解读之Console内核
Dec 02 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 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中英混合字符串截取函数代码
2011/07/17 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
Javascript将string类型转换int类型
2010/12/09 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
小学生自我鉴定
2013/10/12 职场文书
高校毕业生自我鉴定
2013/10/27 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
大学活动总结范文
2014/04/29 职场文书
优秀员工评优方案
2014/06/13 职场文书
2015大学生实训报告
2014/11/05 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python