当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用php实现让页面只能被百度gogole蜘蛛访问的方法

PHP
使用PHP程序加速探索之缓存输出
用PEAR Date进行日期时间处理
利用APC缓冲PHP脚本来提高服务器性能
使用技巧:如何用PHP来解析XML文档
如何使用PHP来编写一个自动投票程序
使用PHP来完成的一个自动登陆程序
PHP问题总结:PHP优化及高效提速问题小结
如何利用APC缓冲PHP脚本来提高服务器性能
Vim使用技巧:高亮显示PHP代码
PHP5中的三大特色功能
理解PHP及其安全问题的入门知识
PEAR项目发布十个稳定包 PHP共享类库升级
另类代码应用 PHP在安全方面的使用窍门
如何使用动态共享对象模式进行PHP安装
实战技巧:解决网站URL格式过长的问题
PHPer谨记:10个重要的PHP网络信息函数说明
通过案例深入探讨PHP中的内存管理问题
牛刀小小试 PHP5中PDO的简单使用
实用比较:JAVA事件模式下PHP如何实现
PHP5.2.0中allow_url_include的应用和解释

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 103 ::
收藏到网摘: n/a

用php实现让页面只能被百度gogole蜘蛛访问的方法,需要的朋友可以参考下。 普通用户与搜索引擎蜘蛛爬行的区别在于发送的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);