零基础建站培训介绍

当前位置:

PHP判断控制搜索引擎蜘蛛与普通用户显示内容不一样

PHP判断控制搜索引擎蜘蛛与普通用户看到的内容不一样。

如果只想判断百度蜘蛛,就可以使用以下的代码:


if (ereg("http://www.baidu.com/search/spider.htm", $_SERVER["HTTP_USER_AGENT"])){
$file = file_get_contents('https://www.xuewangzhan.net/');
echo $file;
exit;
}

推荐的一种方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码。


<?php
function checkrobot($useragent=''){
static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');
static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');

$useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);
if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
if(dstrpos($useragent, $kw_spiders)) return true;
return false;
}
function dstrpos($string, $arr, $returnvalue = false) {
if(empty($string)) return false;
foreach((array)$arr as $v) {
if(strpos($string, $v) !== false) {
$return = $returnvalue ? $v : true;
return $return;
}
}
return false;
}
if(checkrobot()){
echo '搜索引擎蜘蛛';
}else{
echo '普通用户';
}
?>

第二种方法:我们可以通过HTTP_USER_AGENT来判断是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志。


<?php
function isCrawler() {
$agent= strtolower($_SERVER['HTTP_USER_AGENT']);
if (!empty($agent)) {
$spiderSite= array(
"TencentTraveler",
"Baiduspider+",
"BaiduGame",
"Googlebot",
"msnbot",
"Sosospider+",
"Sogou web spider",
"ia_archiver",
"Yahoo! Slurp",
"YoudaoBot",
"Yahoo Slurp",
"MSNBot",
"Java (Often spam bot)",
"BaiDuSpider",
"Voila",
"Yandex bot",
"BSpider",
"twiceler",
"Sogou Spider",
"Speedy Spider",
"Google AdSense",
"Heritrix",
"Python-urllib",
"Alexa (IA Archiver)",
"Ask",
"Exabot",
"Custo",
"OutfoxBot/YodaoBot",
"yacy",
"SurveyBot",
"legs",
"lwp-trivial",
"Nutch",
"StackRambler",
"The web archive (IA Archiver)",
"Perl tool",
"MJ12bot",
"Netcraft",
"MSIECrawler",
"WGet tools",
"larbin",
"Fish search",
);
foreach($spiderSite as $val) {
$str = strtolower($val);
if (strpos($agent, $str) !== false) {
return true;
}
}
} else {
return false;
}
}
if (isCrawler()){
?>
是搜索引擎蜘蛛
<?php }else{ ?>
不是搜索引擎蜘蛛
<?php } ?>

第三种方法:


<?php
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if(strpos($tmp, 'Googlebot') !== false){
$flag = true;
} else if(strpos($tmp, 'Baiduspider') >0){
$flag = true;
} else if(strpos($tmp, 'Yahoo! Slurp') !== false){
$flag = true;
} else if(strpos($tmp, 'msnbot') !== false){
$flag = true;
} else if(strpos($tmp, 'Sosospider') !== false){
$flag = true;
} else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){
$flag = true;
} else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){
$flag = true;
} else if(strpos($tmp, 'fast-webcrawler') !== false){
$flag = true;
} else if(strpos($tmp, 'Gaisbot') !== false){
$flag = true;
} else if(strpos($tmp, 'ia_archiver') !== false){
$flag = true;
} else if(strpos($tmp, 'altavista') !== false){
$flag = true;
} else if(strpos($tmp, 'lycos_spider') !== false){
$flag = true;
} else if(strpos($tmp, 'Inktomi slurp') !== false){
$flag = true;
}
if($flag == false){
header("Location: https://www.xuewangzhan.net" . $_SERVER['REQUEST_URI']);
// 自动转到https://www.xuewangzhan.net 对应的网页
// $_SERVER['REQUEST_URI'] 为域名后面的路径
// 或换成header("Location: https://www.xuewangzhan.net/abc/d.php");
exit();
}
?>
上一课: 下一课:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

相关教程

  • Z-Blog是由RainbowSoft Studio开发的一款小巧而强大的基于Asp平台的Blog程序,其创始人为朱煊(网名:zx.asd)。使用过程中如果您修改了数据库密码
  • PHP应该算是现在大中小非细致网站企业会优先使用的网站建设编程语言,相对于ASP和JSP来说,PHP在在很多方面更适合个人以及小型企业做开发,这主要是因
  • 什么是PHPPHP代表了"超文本处理器",这意味着你必须知道,它是一种服务器端的处理语言,且以HTML的形式出现。它特别常用的地方就是网页了,数据从客
  • 常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码。但往往我们都是直接给推广图片加了一个下载
  • 网站安全是一件很重要的事情,自己辛苦做的网站,可能无意中被 别人恶意网站劫持了。现在有些黑客使用一些代码来将网站进行判断地区跳转,判断管理员
  • 建网站时,为了实现某项功能,需要使用PHP来判断某个字符串中是否包含另一个字符串,然后通过判断结果来实现做网站过程中的某些功能。php判断字符
  • HTML <font>标签之html文字字体、html字体颜色、html字体大小设置标签元素一、font标签语法与结构[cce_html]<font color="#FF0000"&
  • CSS中可以给一个DIV设置背景图片,甚至可以设置背景的样式和位置。(相关教程:CSS3视频教程)控制背景图片位置:background-position:水平方向
  • 有时候,我们需要对网页某个区域的文字竖排,竖向排列。横向排列,在网站制作培训中,经常用到。对于竖排,一时间找不到思路了,呵呵,其实和横排一样
  • 我们大家都知道通过搜索引擎获取的客户是特别精准的,要不就不会有那么多中小企业以及个人去做竞价、搜搜推广了,每天都是几十万的投入,当然这些适合
  • PHP判断控制搜索引擎蜘蛛与普通用户看到的内容不一样。如果只想判断百度蜘蛛,就可以使用以下的代码:[cce_php]if (ereg("http://www.baidu.c
  • 以下是5个在Wordpress 搜索功能开发过程中用到的小功能代码。第一个:搜索结果只有一篇文章时自动跳转到文章[cce_php]function Bing_redirect_s
  • 网站做成之后,会有很多的蜘蛛爬行和抓取网站内容,其中就有大量垃圾蜘蛛,它们会不停的抓取网站的内容,但不会给我们网站带来任意流量,这时,我们就
  • 网站制作好后,某些特殊原因,我们想让网站的某些页面进行特殊的跳转,例如如果是百度或者谷歌的搜索引擎蜘蛛就进行跳转到指定网页。这种跳转可以通过
  • 营销型网站与普通网站有什么区别?下面学做网站论坛就来分析一下二者的区别所在。营销型网站: 营销型网站由后台控制生成静态的页面;
  • 在快节奏的今天,很多个人公司都想快速建一个网站,然后在互联网上宣传自己和公司产品。对于建站一般有二种常用方法,一种是普通的建站,另一种是快速
  • 如今我们的网站、页面更加需要注重细节,不论是字体的样式、还是图片的分辨率清晰度都会影响到用户的访问体验和PV,以及用户以后是否会回访我们的网站
  • 网站显示用户的浏览记录功能在商城网站建设中经常见到,可以记录已浏览的商品的列表。使用wordpress建网站,同样也可以制作这样的显示用户的浏览记录
  • HTML5 video是最新HTML5新增标签的视频播放标签。用于网页播放视频。【相关教程:html5入门教程】它的代码是[cce]<video src="abc.mp4" co
  • 默认情况下Wordpress后台文章列表只显示“文章标题”、“作者”、“所属分类”等基本信息,是不显示每篇文章的浏览量的。下面学做网站论坛论坛一下使用Wordp
  • :before 伪元素在元素之前添加内容:before这个伪元素允许创作人员在元素内容的特别前面插入生成内容。默认地,这个伪元素是行内元素,不过可以使用
  • dedecms内容页标签介绍 (13749 次浏览)
    课程要点1.内容页标签介绍2.系统基本参数调用1.内容页标签介绍2.系统基本参数调用调用方式{dede:global.cfg_description/}常用标签站点
  • ks001 快速建站第五步:后台发布内容通过后台发布自己网站文章和产品
  • 做网站 和做网页的区别简单的来说:网站是由网页集合而成的,而大家通过浏览器所看到的画面就是网页,网页说具体了是一个html文件,浏览器是是用来