用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);
相关推荐
-
phpsir 开发 一个检测百度关键字网站排名的python 程序
源码如下 :保存成utf-8 bd.py 文件 复制代码 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import urllib ,urllib2 import re def baidu(w): url= "http://www.baidu.com/s?" values = { "w":w.encode('gbk','ignore') } data = urllib.urlencode
-
php+ajax做仿百度搜索下拉自动提示框(有实例)
php+mysql+ajax实现百度搜索下拉提示框 主要有3个文件三个文件在同一个目录里 如下图 下面是三个文件的代码 把sql文件导入到mysql数据库里 修改下数据库密码为自己的 记得哦是UTF-8编码 php+mysql+ajax实现百度搜索下拉提示框 效果图 rpc.php文件 复制代码 代码如下: <?php mysql_connect('localhost', 'root' ,''); mysql_select_db("test"); $queryString = $
-
php+js实现百度地图多点标注的方法
本文实例讲述了php+js实现百度地图多点标注的方法.分享给大家供大家参考,具体如下: 1.php创建json数据 $products = $this->product_db->select($where); $products_json = json_encode($products); 2.js传入json数据 类似于这样的结构 var markerArr = [{ title: "名称:广州火车站", point: "113.264531,23.157003
-
php获取从百度搜索进入网站的关键词的详细代码
分享一个php获取从百度搜索进入网站的关键词的代码,有需要的朋友可以参考一下: 代码: 复制代码 代码如下: <?php function search_word_from() { $referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:''; if(strstr( $referer, 'baidu.com')){ //百度 preg_match( "|baidu.+wo?r?d=([^\\&]*)|i
-
PHP计算百度地图两个GPS坐标之间距离的方法
本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: /** * 计算两个坐标之间的距离(米) * @param float $fP1Lat 起点(纬度) * @param float $fP1Lon 起点(经度) * @param float $fP2Lat 终点(纬度) * @param float $fP2Lon 终点(经度) * @return int */ function distanceBetw
-
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
最近遇到一个项目,客户需要一个功能,一个商品销售下单需要知道用户下单是从哪个途径来的,认为客服软件(53客服)和站长统计只能满足工作时间,及晚上下班和周六日休息,客服不在线,用户下单会不知道该订单的具体来源,所以嘛,又只能通过网站功能来增加一字段,获取来源关键字,如何获取来源关键字,代码发在下面,里面包含(百度.谷歌.雅虎.搜狗.搜搜.必应.有道)几大搜索引擎的获取方法,代码中均注明,希望对你有帮助,分享一下 代码如下: 复制代码 代码如下: <?php //获取来自搜索引擎入站时的关键词 fu
-
php使用百度翻译api示例分享
百度翻译API的PHP代码,测试可以实现,不过英译中可能需要转换编码. 复制代码 代码如下: <?phpfunction language($value,$from="auto",$to="auto"){ $value_code=urlencode($value); #首先对要翻译的文字进行 urlencode 处理 $appid="YourApiKey"; #您注册的API Key $languageurl = "ht
-
php使用百度天气接口示例
注意地区要转码的百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key 复制代码 代码如下: <?php $city="嘉兴";$content = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=%E5%98%89%E5%85%B4&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ&
-
php生成百度sitemap站点地图类函数实例
本文实例讲述了php生成百度sitemap站点地图类函数的方法,分享给大家供大家参考.具体实现方法如下: 问题概述: 公司网站是问答百科的网站.seo工程师提出需求说根据网站的问题来生成xml文件.每个xml文件包含5000条setmap格式数据.现在线上网站大约有70w条问题,所以说基本生成140个xml文件.还有一个索引文件.比如文件的名称以数字开头的.索引文件包含的内容就是每个xml文件的路径还有名称. 为什么要每个文件存储5000条数据呢,因为这是mysql的一个界限值.如果每次取多了以
-
用php实现百度网盘图片直链的代码分享
第一种代码:代码量较少通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果 将下面的代码保存为downbd.php 复制代码 代码如下: <?php $canshu=$_SERVER["QUERY_STRING"]; if($canshu=="") { die("文件不存在"); } else { $wangzhi="http://pan.baidu.com/share/link?".$canshu; $file=
-
php实现批量下载百度云盘文件例子分享
百度开放云PhpSDK下载地址:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/web%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5/SDK 实例代码: 复制代码 代码如下: <?php/** * Author: hankcs * Date : 14-3-29 * Time : 下午10:29 */ini_se
-
php实现计算百度地图坐标之间距离的方法
本文实例讲述了php实现计算百度地图坐标之间距离的方法.分享给大家供大家参考,具体如下: 下面是网上的代码,使用的时候需要进行些许修改 第一个函数是获得范围,参数为纬度经度半径 第二个函数是计算坐标距离 <?php define('PI',3.1415926535898); define('EARTH_RADIUS',6378.137); //计算范围,可以做搜索用户 function GetRange($lat,$lon,$raidus){ //计算纬度 $degree = (24901 *
随机推荐
- jQuery自动或手动图片切换效果
- iOS11和iPhoneX适配的一些坑
- 存储过程解密(破解函数,过程,触发器,视图.仅限于SQLSERVER2000)
- JavaScript Math.ceil 方法(对数值向上取整)
- IIS和.net framework 4.0的安装顺序导致的问题(重新注册.net 4.0)
- Java单链表的实现代码
- 逆转交替合并两个链表的解析与实现
- PHP session实现购物车功能
- python脚本设置系统时间的两种方法
- 获取字符中中文首字字符
- Android编程实现手绘及保存为图片的方法(附demo源码下载)
- MySQL数据库中的安全设置方案
- 微信分享的标题、缩略图、连接及描述设置方法
- jquery 表单进行客户端验证demo
- windows 2003 禁止UDP的bat
- [js高手之路]寄生组合式继承的优势详解
- Android自定义对话框Dialog
- Android编程之单元测试实例分析
- 南北互联ASP免费双线空间服务
- 微信小程序-form表单提交代码实例