找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1077|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 09:01:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent,
看网站日志文件能发现百度蜘蛛名字包含Baiduspider, 而google的则是Googlebot, 这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:
[U]复制代码[/U] 代码如下:
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了,如下俩中调用方式:
[U]复制代码[/U] 代码如下:
if (!isAllowAccess()) {
exit("404 not found");
}
//或者
isAllowAccess(TRUE);
            
            
您可能感兴趣的文章:
  • phpsir 开发 一个检测百度关键字网站排名的python 程序
  • php+ajax做仿百度搜索下拉自动提示框(有实例)
  • PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
  • 用php实现百度网盘图片直链的代码分享
  • php获取从百度搜索进入网站的关键词的详细代码
  • php使用百度翻译api示例分享
  • php实现批量下载百度云盘文件例子分享
  • php使用百度天气接口示例
  • php生成百度sitemap站点地图类函数实例
  • PHP计算百度地图两个GPS坐标之间距离的方法
  • php实现计算百度地图坐标之间距离的方法
  • php+js实现百度地图多点标注的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端