用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.ini中文版(2)
Oct 09 PHP
php session 错误
May 21 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
PHP大转盘中奖概率算法实例
Oct 21 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
Ajax+Jpgraph实现的动态折线图功能示例
Feb 11 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 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使用iconv中文截断问题的解决方法
2015/02/11 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
2017/07/27 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
python如何定义带参数的装饰器
2018/03/20 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
python实现xml转json文件的示例代码
2020/12/30 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
医学院学生求职简历的自我评价
2013/10/24 职场文书
大学新生欢迎词
2014/01/10 职场文书
妇女工作先进事迹
2014/08/17 职场文书
农村文化活动总结
2014/08/28 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
java实现对Hadoop的操作
2021/07/01 Java/Android
Java spring定时任务详解
2021/10/05 Java/Android
nginx lua 操作 mysql
2022/05/15 Servers
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL