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

PHP
动易数据转成dedecms的php程序
PHP中文汉字验证码
收藏的一个php小偷的核心程序
ASP和PHP都是可以删除自身的
PHP+Tidy-完美的XHTML纠错+过滤
PHP实现MVC开发得最简单的方法——模型
相对路径转化成绝对路径
如何提高MYSQL数据库的查询统计速度 select 索引应用
php下的转义字符串
PHP 中英文混合排版中处理字符串常用的函数
Linux下ZendOptimizer的安装与配置方法
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
dede全站URL静态化改造[070414更正]
使用Xdebug调试和优化PHP程序之[1]
PHP与SQL注入攻击[一]
PHP与SQL注入攻击[二]
PHP与SQL注入攻击[三]
PHP和XSS跨站攻击的防范
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 227 ::
收藏到网摘: 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);