热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php蜘蛛,php蜘蛛池

本文目录一览:1、怎么阻止百度蜘蛛查询admin php文件2、如何利用php来判断是百度蜘蛛还是普通用户,是普通用户访问a.htm,百度蜘蛛访问b.htm 指定某个I

本文目录一览:


  • 1、怎么阻止百度蜘蛛查询admin php文件


  • 2、如何利用php来判断是百度蜘蛛还是普通用户,是普通用户访问a.htm,百度蜘蛛访问b.htm 指定某个IP访问普通页


  • 3、PHP中如何调用JS代码实现判断是否是蜘蛛访问


  • 4、PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结


  • 5、PHP判断普通用户或蜘蛛,调用不同代码


  • 6、求一段PHP代码 ,判断百度蜘蛛的来路的

怎么阻止百度蜘蛛查询admin php文件

在网站根目录添加robots.txt文件试试

格式为

User-agent: *

Disallow: /admin.php

如何利用php来判断是百度蜘蛛还是普通用户,是普通用户访问a.htm,百度蜘蛛访问b.htm 指定某个IP访问普通页

使用预定义变量:$_SERVER["HTTP_REFERER"]来判断进入该页面的前一页。并根据不同的判断结果执行不同的操作。

PHP中如何调用JS代码实现判断是否是蜘蛛访问

这个理论上是无法做到的,因为蜘蛛可以模仿得和浏览器点开完全相同。

一般的办法是判断浏览器的AGENT标志,一般蜘蛛这里比较特殊,你看看日期里面的AGENT就知道如何识别了。

我的代码如下,可以参考:

PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结

1、推荐的一种方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码,摘自Discuz x3.2

?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 '人';

}

?

实际应用中可以这样判断,直接不是搜索引擎才执行操作

?php

if(!checkrobot()){

//do something

}

?

2、第二种方法:

使用PHP实现蜘蛛访问日志统计

$useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));

if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';}

elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';}

elseif (strpos($useragent,'baiduspider') !== false){$bot = 'Baidu';}

elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';}

elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';}

elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';}

elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';}

elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';}

elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';}

elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';}

elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';}

elseif (strpos($useragent,'yodaoBot') !== false){$bot = 'Yodao';}

elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';}

elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';}

elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';}

elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';}

elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';}

if(isset($bot)){

$fp = @fopen('bot.txt','a');

fwrite($fp,date('Y-m-d H:i:s')."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."\r\n");

fclose($fp);

}

第三种方法:

我们可以通过HTTP_USER_AGENT来判断是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志,下面列取了一部分。

function is_crawler() {

$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);

$spiders = array(

'Googlebot', // Google 爬虫

'Baiduspider', // 百度爬虫

'Yahoo! Slurp', // 雅虎爬虫

'YodaoBot', // 有道爬虫

'msnbot' // Bing爬虫

// 更多爬虫关键字

);

foreach ($spiders as $spider) {

$spider = strtolower($spider);

if (strpos($userAgent, $spider) !== false) {

return true;

}

}

return false;

}

下面的php代码附带了更多的蜘蛛标识

function isCrawler() {

echo $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()){

echo "你好蜘蛛精!";

}

else{

echo "你不是蜘蛛精啊!";

PHP判断普通用户或蜘蛛,调用不同代码

定义一个函数 get_naps_bot()

如果是 BOT 则返回字符串, 如果不是 BOT 返回 false

function get_naps_bot()

{

$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);

if (strpos($useragent, 'googlebot') !== false){

return 'Googlebot';

}

if (strpos($useragent, 'msnbot') !== false){

return 'MSNbot';

}

if (strpos($useragent, 'slurp') !== false){

return 'Yahoobot';

}

if (strpos($useragent, 'baiduspider') !== false){

return 'Baiduspider';

}

if (strpos($useragent, 'sohu-search') !== false){

return 'Sohubot';

}

if (strpos($useragent, 'lycos') !== false){

return 'Lycos';

}

if (strpos($useragent, 'robozilla') !== false){

return 'Robozilla';

}

return false;

}

$botName = get_naps_bot();

if( empty($botName ) )

{

include( "11.php" );// 用户访问

}

else

{

include( "22.php" ); // 蜘蛛访问

}

求一段PHP代码 ,判断百度蜘蛛的来路的

普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent

百度蜘蛛名字包含Baiduspider, 而google的则是Googlebot, 这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:

function isAllowAccess($directForbidden = false,$url) { 

$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) { 

header('location:'.$url);

}  

return $valid; 

}

望采纳 Thx


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
author-avatar
xz7777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有