发款php蜘蛛统计插件只要有mysql就可用_php实例
于是昨天便认真的做了一下,功能多一点,可以对各种搜索引擎统计分析。可以在多个时间段进行查看。其实代码很简单,为了更简洁些,代码压缩到6k.分为6个文件
1.安装程序 spilder_install.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>安装插件</title> </head> <?php if($_POST['act']=='install')//如果是安装 { $mysql_host=trim($_POST['mysql_host']);//获取主机 $mysql_user=trim($_POST['mysql_user']);//获取用户名 $mysql_pwd=trim($_POST['mysql_pwd']);//获取密码 $mysql_db=trim($_POST['mysql_db']);//数据库 $table_prefix=trim($_POST['table_prefix']);//获取前缀 if($link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd)) { echo "连接服务器成功!.................<br>"; } else { echo "<script>alert('链接出错!请检查数据库服务器配置!');history.go(-1);</script>"; } if(mysql_select_db($mysql_db,$link)) { echo "连接数据库成功!.............<br>正在创建表................<br>"; } $sql="CREATE TABLE `spilder_sp_count` ( `id` bigint(20) NOT NULL auto_increment, `r_time` int(11) NOT NULL, `r_name` varchar(50) NOT NULL, `r_url` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=4 ; "; mysql_query("DROP TABLE IF EXISTS `".$table_prefix."sp_count`;");//删除已存在 $sql=str_replace("spilder_",$table_prefix,$sql);//替换前缀 if(mysql_query($sql)) { echo "表创建成功!正在写入文件"; } $f=file_get_contents("spilder_config.php");//获取配置内容 $f=str_replace(" ","",$f);//去除空格 $f=preg_replace("/mysql_host=.*;/iUs","mysql_host='{$mysql_host}';",$f); $f=preg_replace("/mysql_user=.*;/iUs","mysql_user='{$mysql_user}';",$f); $f=preg_replace("/mysql_pwd=.*;/iUs","mysql_pwd='{$mysql_pwd}';",$f); $f=preg_replace("/mysql_db=.*;/iUs","mysql_db='{$mysql_db}';",$f); $f=preg_replace("/table_prefix=.*;/iUs","table_prefix='{$table_prefix}';",$f); $f=preg_replace("/sp_admin=.*;/iUs","sp_admin='{$sp_admin}';",$f); file_put_contents("spilder_config.php",$f); file_put_contents("isinstall.txt","OK"); echo "恭喜!荐礼啦蜘蛛统计程序安装成功 <a href=\"index.php\">查看</a>"; exit(); } ?> <body> <table width="600" border="0" align="center"> <tr> <td align="center">荐礼啦 蜘蛛统计查看器</td> </tr> </table> <form method="post"> <table width="600" border="0" align="center" cellspacing="0"> <tr> <td width="280"> </td> <td width="610">开始安装</td> </tr> <tr> <td align="right">服务器:</td> <td><input name="mysql_host" type="text" id="mysql_host" value="localhost" /> (一般不用改)</td> </tr> <tr> <td align="right">用户名:</td> <td><input type="text" name="mysql_user" id="mysql_user" /></td> </tr> <tr> <td align="right">密码:</td> <td><input type="password" name="mysql_pwd" id="mysql_pwd" /></td> </tr> <tr> <td align="right">数据库:</td> <td><input type="text" name="mysql_db" id="mysql_db" /></td> </tr> <tr> <td align="right">表前缀:</td> <td><input name="table_prefix" type="text" id="table_prefix" value="spilder_" /> <input name="act" type="hidden" id="act" value="install" /></td> </tr> <tr> <td align="right">管理密码:</td> <td><input type="password" name="sp_admin" id="sp_admin" /></td> </tr> <tr> <td align="right"> </td> <td><input type="submit" name="button" id="button" value="安装" /></td> </tr> </table> </form> </body> </html>
2.蜘蛛记录文件
<?php require("spilder_config.php");//调用配置文件 $link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die("服务器连接出错");//链接数据库 mysql_select_db($mysql_db,$link) or die('数据库连接出错'); $searchbot = get_naps_bot(); if($searchbot) { date_default_timezone_set('PRC'); //设置默认时区 $r_time=strtotime(date("Y-m-d H:i:s"));//最后更新时间 $ServerName = $_SERVER["SERVER_NAME"] ; $ServerPort = $_SERVER["SERVER_PORT"] ; $ScriptName = $_SERVER["SCRIPT_NAME"] ; $QueryString = $_SERVER["QUERY_STRING"] ; $url="http://".$ServerName ; If ($ServerPort != "80") { $url = $url.":".$ServerPort ; } $url=$url.$ScriptName ; If ($QueryString !="") { $url=$url."?".$QueryString ; } //$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $GLOBALS['db']->db_query("insert into {$table_prefix}sp_count(r_time,r_name,r_url) values('$r_time','$searchbot','$url')"); } function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){ return 'Googlebot'; }elseif (strpos($useragent, 'msnbot') !== false){ return 'MSNbot'; }elseif (strpos($useragent, 'slurp') !== false){ return 'Yahoobot'; }elseif (strpos($useragent, 'baiduspider') !== false){ return 'Baiduspider'; }elseif (strpos($useragent, 'sogou') !== false){ return 'Sogoubot'; }elseif (strpos($useragent,'soso') !== false){ return 'Sosobot'; }elseif(strpos($useragent,'youdao')!==false) { return 'Youdao'; } else { return false; } } ?>
3.蜘蛛统计查看文件
<?php session_start(); require("spilder_config.php"); if($_GET['act']=='logout') { $_SESSION['ss_sp_admin']='';//清空 } if($_GET['sp_admin_login']) { if($_GET['sp_admin_login']==$sp_admin) { $_SESSION['ss_sp_admin']=$sp_admin; } } date_default_timezone_set('PRC'); //设置默认时区 $day_start=strtotime(date("Ymd")."000001");//一天的开始时间 $day_out=strtotime(date("Ymd")."235959");//一天的结束时间 $day=3600*24;//一天的时间 $link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die("服务器连接出错"); mysql_select_db($mysql_db,$link) or die('链接数据库出错');//连接数据库 if($_GET['act']=='del') { if($_SESSION['ss_sp_admin']<>'') { if($_GET['dt']==0)//清空 { mysql_query("delete from {$table_prefix}sp_count "); } $d_time=0; if($_GET['dt']==1)//删除30天前 { $d_time=$day_out-$day*30; }elseif($_GET['dt']==2)//删除60天前 { $d_time=$day_out-$day*60; }elseif($_GET['dt']==3)//删除90天前 { $d_time=$day_out-$day*90; }elseif($_GET['dt']==4)//删除180天前 { $d_time=$day_out-$day*180; }elseif($_GET['dt']==5)//删除360天前 { $d_time=$day_out-$day*360; } if($d_time>0) { mysql_query("delete from {$table_prefix}sp_count where r_time<'$d_time'");//删除数据 } } } $ss=intval($_GET['ss']); if($ss>0)//查看分类统计 { if($ss==999)//清空分类 { $_SESSION['ss_ss']=''; }else { $_SESSION['ss_ss']=$ss; } } $ss=$_SESSION['ss_ss']; if($ss==1) { $ss='Baiduspider'; }elseif($ss==2) { $ss='Googlebot'; }elseif($ss==3) { $ss="MSNbot"; }elseif($ss==4) { $ss="Yahoobot"; }elseif($ss==5) { $ss="Sogoubot"; }elseif($ss==6) { $ss="Sosobot"; }elseif($ss==7) { $ss=7; } $t=intval($_GET['t']);//查看时间分类统计 if($t==0)//时时情况 { if(empty($_SESSION['ss_ss'])) { $sql =" select * from {$table_prefix}sp_count order by id desc ";//最新情况 $sql2="select count(*) from {$table_prefix}sp_count "; }else { $sql="select * from {$table_prefix}sp_count where r_name='$ss' order by id desc "; $sql2="select count(*) from {$table_prefix}sp_count where r_name='$ss' "; } $rscount=mysql_query($sql2); $rscount=@mysql_fetch_array($rscount); $rscount=$rscount[0];//获取总记录数 $page=intval(trim($_GET['page']));//当前页数 $pagesize=30;//每页记录数 $pagecount=ceil($rscount/$pagesize);//获取总页数 $pageurl=""; if($page<=1) { $page=1; $pageurl.=" 首页 上一页"; }else { $pageurl .=" <a href='?page=1&ss=".$ss."'>首页</a> <a href='?ss=".$ss."&page=".($page-1)."'>上一页</a>"; } if($page>=$pagecount) { $page=$pagecount; $pageurl .=" 下一页 尾页"; }else { $pageurl .=" <a href='?ss=".$ss."&page=".($page+1)."'>下一页</a> <a href='?ss=".$ss."&page=".$pagecount."'>尾页</a>"; } if($page<=1) { $page=1; } $start_rs=intval(($page-1)*$pagesize);//开始 $end_rs=intval($page*$pagesize);//结束 $sql .=" limit {$start_rs},{$end_rs} "; } if($t==1)//查看今天天统计 { $s_time=$day_start;//开始时间 $e_time=$day_out;//结束时间 $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; }elseif($t==2)//查看昨天统计 { $s_time=$day_start-$day;//开始 $e_time=$day_out-$day;//结束 $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; }elseif($t==3)//查看前天天的统计 { $s_time=$day_start-$day*2; $e_time=$day_out-$day*2; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name"; }elseif($t==4)//查看七天的统计 { $s_time=$day_start-$day*7; $e_time=$day_out; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; } elseif($t==5)//查看30天的 { $s_time=$day_start-$day*30; $e_time=$day_out; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; }elseif($t==6)//查看90天的统计 { $s_time=$day_start-$day*90; $e_time=$day_out; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; } $res=mysql_query($sql);// or die("请先安装程序<a href='spilder_install.php'>安装</a>"); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>显示蜘蛛记录情况</title> <style type="text/css"> td{font-size:14px;} a,a:link{text-decoration:none; color:#000; } a:hover{color:#F00;} </style> </head> <body> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-bottom:6px;"> <tr> <td height="28" align="center" bgcolor="#66CC00"><h1 id="a-href-http-www-jianlila-com-target-blank-荐礼啦-a-蜘蛛查看器"><a href="http://www.jianlila.com" target="_blank">荐礼啦</a> 蜘蛛查看器</h1></td> </tr> </table> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td width="65" height="38" bgcolor="#FFFFFF">分类查看</td> <td width="403" align="center" bgcolor="#FFFFFF"> <a href="?ss=999">所有的</a> <a href="?ss=1">百度</a> <a href="?ss=2">谷歌</a> <a href="?ss=3">必应</a> <a href="?ss=4">雅虎</a> <a href="?ss=5">搜狗</a> <a href="?ss=6">搜搜</a> <a href="?ss=7">有道</a></td> <td width="322" bgcolor="#FFFFFF"> <a href="?t=0">时时</a> <a href="?t=1">今天</a> <a href="?t=2">昨天</a> <a href="?t=3">前天</a> <a href="?t=4">七天</a> <a href="?t=4">30天</a> <a href="?t=5">90天</a> </td> </tr> </table> <?php if($_SESSION['ss_sp_admin']==$sp_admin) { ?> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:12px; margin-bottom:12px;"> <tr> <td width="208" align="right" bgcolor="#FFFFFF">管理 <a href="?act=logout">退出</a> </td> <td width="585" align="center" bgcolor="#FFFFFF"> <a href="?act=del&dt=0" onclick="return confirm('确定清空')">清空</a> <a href="?act=del&dt=1" onclick="return confirm('确定删除?')">30天前</a> <a href="?act=del&dt=2" onclick="return confirm('确定删除?')">60天前</a> <a href="?act=del&dt=3" onclick="return confirm('确定删除?')">90天前</a> <a href="?act=del&dt=4" onclick="return confirm('确定删除?')">180天前</a> <a href="?act=del&dt=5" onclick="return confirm('确定删除?')">360天前</a></td> </tr> </table> <?php } ?> <?php if($t==0) { ?> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:6px;"> <tr> <td width="133" align="center" bgcolor="#FFFFFF">蜘蛛</td> <td width="217" align="center" bgcolor="#FFFFFF">时间</td> <td width="440" align="center" bgcolor="#FFFFFF">地址</td> </tr> <?php while($rs=mysql_fetch_array($res)) { ?> <tr> <td align="center" bgcolor="#FFFFFF"><?php echo $rs['r_name'];?></td> <td align="center" bgcolor="#FFFFFF"><?php echo date("Y-m-d H:i:s",$rs['r_time']); ?></td> <td align="center" bgcolor="#FFFFFF"><a href="<?php echo $rs['r_url'];?>" target="_blank"> <?php echo $rs['r_url'];?></a></td> </tr> <?php } ?> </table> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:20px; margin-bottom:20px;"> <tr> <td align="center" bgcolor="#FFFFFF"><?php echo $pageurl;?></td> </tr> </table> <?php }else{ ?> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:6px;"> <tr> <td width="219" align="center" bgcolor="#FFFFFF">蜘蛛</td> <td width="574" align="center" bgcolor="#FFFFFF">统计</td> </tr> <?php while($rs=mysql_fetch_array($res)) { ?> <tr> <td align="center" bgcolor="#FFFFFF"><?php echo $rs['r_name'] ?></td> <td align="center" bgcolor="#FFFFFF"><?php echo $rs['ct'];?></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Alipay PHP ...

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.
