php小偷程序原理分析2

 建立我们第一个PHP文件:

你可以用记事本,可以用Dreamweaver也可以用专用PHP编辑软件
取名字为 commom.php
内容为
————————
<?php
include ‘./config.php’;
include ‘./global.php’;
?>———————–
这个文件有什么用?就是在以后操作中直接 inclue 这个文件就可以用到所有的函数啊什么的
然后config.php是设置 URL 刷新时间 等等
global.php是 所有函数的文件
也就是今天要给教给大家的!
第一个个函数 open
————-
function open($file,$type=”){
         global $fromurl,$referer;
         $cachename=$file;
                 if($type){
                         $file=$fromurl.’/’.$type.’/’.$file;
                 }else{
                         $file=$fromurl.$file;
                 }

                
                
                
                         if($open=file($file)){
                                         $count=count($open);
                                         for($i=0;$i<$count;$i++){
                                                 $theget.=$open[$i];

                                         }
                                        
                                 }else{
                                         die(‘请求过多,超时,请刷新’);
                                 }
                
                
         return $theget;

}
—————-
解释过了,连接地址就2中请求,根目录,和 文件夹/名字
函数怎么用法等等,不多说了.建议大家下载译本PHP中文手册看看.
第二个函数
根据设置时间更新cache目录文件函数 update
—————
function update($file,$type=”){
         global $timestamp,$flush;
         if(!file_exists(“cache/$file”)){
                 if($type){
                         $data=open($file,$type);
                 }else{
                         $data=open($file);
                 }
                
                 writetofile(“cache/$file”,$data);
         }else{
                 $lastflesh=@filemtime(“cache/$file”);
                
        
        
                 if($lastflesh + ($flush * 60) < $timestamp ){
                         if($type){
                                 $data=open($file,$type);
                         }else{
                                 $data=open($file);
                         }
                         writetofile(“cache/$file”,$data);
                 }
         }

}
——–
简单解释
$data=open($file,$type);就是用到上面的 open函数了
如果我们用 udate(“index.htm”);
那不就是用到了 update函数吗? 明白吗?
上面出现了writetofile函数 下面是代码
——————————
function writetofile($file_name,$data,$method=”w”) {
         if($filenum=fopen($file_name,$method)){
                 flock($filenum,LOCK_EX);
                 $file_data=fwrite($filenum,$data);
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
}———————————
切割字符函数
————————
function cut($file,$from,$end){

         $message=explode($from,$file);
         $message=explode($end,$message[1]);
return         $message[0];
}
—————————-
读取函数
———————
function readfromfile($file_name) {
         if($filenum=fopen($file_name,”r”)){
                 flock($filenum,LOCK_SH);
                 $file_data=fread($filenum,filesize($file_name));
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
        
}
————————————-
把所有函数写成一个文件 保存起来 取名字叫 global.php
内容如下:
————————————————————————————————
<?php
function open($file,$type=”){
         global $fromurl,$referer;
         $cachename=$file;
                 if($type){
                         $file=$fromurl.’/’.$type.’/’.$file;
                 }else{
                         $file=$fromurl.$file;
                 }

                
                
                
                         if($open=file($file)){
                                         $count=count($open);
                                         for($i=0;$i<$count;$i++){
                                                 $theget.=$open[$i];

                                         }
                                        
                                 }else{
                                         die(‘请求过多,超时,请刷新’);
                                 }
                
                
         return $theget;

}

function update($file,$type=”){
//更新cache中的文件
         global $timestamp,$flush;
         if(!file_exists(“cache/$file”)){
                 if($type){
                         $data=open($file,$type);
                 }else{
                         $data=open($file);
                 }
                
                 writetofile(“cache/$file”,$data);
         }else{
                 $lastflesh=@filemtime(“cache/$file”);
                
        
        
                 if($lastflesh + ($flush * 60) < $timestamp ){
                         if($type){
                                 $data=open($file,$type);
                         }else{
                                 $data=open($file);
                         }
                         writetofile(“cache/$file”,$data);
                 }
         }

}
function readfromfile($file_name) {
         if($filenum=fopen($file_name,”r”)){
                 flock($filenum,LOCK_SH);
                 $file_data=fread($filenum,filesize($file_name));
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
        
}

function writetofile($file_name,$data,$method=”w”) {
         if($filenum=fopen($file_name,$method)){
                 flock($filenum,LOCK_EX);
                 $file_data=fwrite($filenum,$data);
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
}
function cut($file,$from,$end){

         $message=explode($from,$file);
         $message=explode($end,$message[1]);
return         $message[0];
}
function updatecache($file,$cache=”){
         global $timestamp,$flush;
         if(!file_exists($file)){
                 writetofile($file,$cache);
                 $return=$cache;
         }elseif(@filemtime($file) < $timestamp – ($flush * 60)){
                 writetofile($file,$cache);
                 $return=$cache;
         }else{
                 $return=readfromfile($file);        
         }
         return $return;
}
?>
—————————————————————————————————–
其中有几个变量在config.php中设置一下
我们建立config.php文件 内容如下:
<?php
$fromurl = “http://www.onlinedown.net/”;
$flush=”120″;//update函数中自动同步更新时间
?>
————————
现在位置我们有了3个文件了 commom.php config.php global.php
有了3个文件 程序总体完成了.接下来如何去偷呢?
心急的人可以先试试
建立一个index.php文件 就是首页
你先做好模板 的样子
HTML先做好.
然后在
<html>
……..
……..
</html>
的上方插入PHP代码
如下:
<?php
require ‘./commom.php’;
update(“index.htm”);
$file=readfromfile(“cache/index.htm”);
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
?>
<html>
…….
……
…….
</html>
在你想要插入的地方插入<?php echo $gwrj; ?>
就是从首页中切割出来的国外软件
自己试试

___________________________________________________________________________________________

今天我们教,偷取首页.不同的首页需要不同的偷法,主要是分析HTML代码.函数以及方法前面2天介绍的很清楚了.今天我们在实践中讲解和使用.

还是拿华军软件园开刀.
http://www.onlinedown.net/index.htm
用Dreamweaver新建一个index.php的页子.
注意:
先做好你要的首页模板,然后开始偷首页.由于考虑到对初学者的教程.所以先把模板和PHP处理代码放在同一个网页中.
以后教大家HTML和PHP的分离.

模板建立好以后,我们就开偷.
在<html>
的上方插入PHP代码,如下形式:
<?
require ‘./commom.php’;
update(“index.htm”);
$file=readfromfile(“cache/index.htm”);

?>
解释
require ‘./commom.php’//引入commom.php文件
update(“index.htm”)//读取写入index.htm网页
$file=readfromfile(“cache/index.htm”)//从本地文件夹cache中读取index.htm
这里的$file是一个变量,你可以随便取名.也可以叫它 $html
但是后面用到的时候要统一.

上面代码,没有处理任何东西,也没有输出任何的东西.如果说输出$file的话,那么就是index.htm的所有html代码.
下面就开始到index.htm中拿我们想要的东东.

1 拿国外软件更新的代码.
大家可以取一个变量名为 $gwrj    //国外软件 名字随便取
怎么从这个index.htm拿出这个我们想要的国外软件呢?这里拿出我们上一节讲过的cut函数
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
解释
$xxx = cut($file,”$first”,”$end”);
如何工作的呢?就是把$file(index.htm)从$first处切割取下面部分,在切割$end取上面部分.
比如说:
$file = “111222333444″;
$xxx = cut($file,”1″,”3″);//结果是11222 这样的解释应该明白吧?
注意:
“<TD width=”307″ height=”118″>”
在” “内的内容 如果也有 ” 的话,需要在前面加
例子
“<TD width=”307″ height=”118″>”
成为
“<TD width=”307″ height=”118″>”
下面这段代码就是成功偷取了国外软件:
<?
require ‘./commom.php’;
update(“index.htm”);
$file=readfromfile(“cache/index.htm”);
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
?>
然后在你的html模板中,在需要显示的地方插入代码
<? echo $gwrj; ?>

其他偷取也一样.
注意:
这里拿出来的HTML需要更换为自己的代码,可以总的更换,也可以一个一个更换.
我们讲单独更换代码就是:
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
$gwrj = str_replace(“soft/”,”soft.php?id=”,$gwrj);
$gwrj = str_replace(“.htm”,”",$gwrj);
解释:
就是把偷过来的国外软件中的代码更换.
原来的
<a target=_blank href=”soft/18204.htm”>
变为了现在的
<a target=_blank href=”soft.php?id=18204″>

基本差不多了,多菜鸟讲来应该很详细咯.先做好首页模板,然后一个一个的挖出来你想要的东西.
想一个问题.
index.htm中,有很多分类资讯的,都是调用JS显示的内容,你怎么把它拿过来显示在你的首页中.
希望大家偷的都很顺利.
简单讲下分类的偷取.和偷取首页一样.代码如下:
<?
require ‘./commom.php’;

if($soft){
         update(“${soft}.htm”,”soft”);
         $file=readfromfile(“cache/${soft}.htm”);
}
?>
soft.php
其中$soft就是从前面传递过来的soft.php?id=1234
如果传递过来1234
那么就是更新读取update(“1234.html”,”soft”);

你可能感兴趣的:(PHP,职场,休闲,小偷)