php网页病毒清除类

本文实例讲述了php网页病毒清除类。分享给大家供大家参考。具体如下:

相信很多人的网页经常被无故的在php,asp,html,js 等文件后台加上一些木马地址,造成了很大的困扰!我以前有个站就是这样,所以一恨之下写了这段代码,文章虽然有一点浪费资源了,但是总比我们手动清除要好吧,下面我为讲讲程序的清除病毒的原理吧.

首先们要读取 $checkFile 文件这个文章是判断一个文章 是否被感染了,如果是就会执行$savafile变量里面的txt文件路径的所有文件,进行按你infecFile病毒列表清除一次.

<?php 

 Class clear_virus{

  //public $content;

  public $infectFile ='virus.txt';//病毒文件列表文件

  public $savefile    ="save.txt";//所在查看病毒的文件列表

  public $timep  ='time.txt';//些记录清除病毒时间

  public $checkFile ='e.php';//这里是设置

  public $run   =0;

  public $virus_type;

  public $replace  ;

  public $filepath ; 

  public $tag         =0; 

   

  function open_file(){

   $this->read_virus();   

   $this->check_File();

   if($this->run){ 

    $this->update_time(); 

    $this->read_file() ;    

    foreach($this->filepath as $tmppath){

     if(file_exists($tmppath)){

      $tmp_file =file_get_contents($tmppath); 

      print_r( $this->virus_type);      

        for( $i=0;$i<sizeof($this->virus_type);$i++ ){

         if( strrpos($tmp_file,$this->virus_type[$i])!== false){

          $tmp_file =str_replace($this->virus_type[$i],'',$tmp_file);

          $this->tag =1;          

         }         

        }

        if( $this->tag ){

         $handle =fopen($tmppath,'w');

         fwrite($handle,$tmp_file);

         fclose($handle);

         unset($tmp_file); 

        }     

      

     }else{

      ;

     }      

    } 

   }

  }

  

  function check_File(){

   if(file_exists($this->checkFile) ){

    $temp =file_get_contents($this->checkFile) ;

    echo $temp;

     foreach( $this->virus_type as $v_tmp ){

      if( strrpos($temp,$v_tmp)!== false ){

       $this->run =1;

       break;

      }

     }

     echo $this->run;

     unset($temp);    

   }else{

    $this->show_error(5);

   }

  }

  

  function update_time(){

   if(file_exists($this->timep) ){

    $tmp_time =date("Y-m-d H:i:s").chr(13).'|';

    $tmp_fp  =fopen($this->timep,'a+');

    fwrite($tmp_fp,$tmp_time);

    fclose($tmp_fp);    

   }

   

  }

  

  

  function read_File(){  

   if(file_exists($this->savefile) ){   

    $this->content =file($this->savefile);    

    if(is_array($this->content)){    

     $this->filepath =$this->content;     

    }else{

     $this->show_error(3);

    }

   }else{

    $this->show_error(4);

   } 

  }

  

  

  function read_virus(){  

   if(file_exists($this->infectFile) ){   

    $this->replace =file($this->infectFile);    

    if(is_array($this->replace)){    

     $this->virus_type=$this->replace;     

    }else{

     $this->show_error(1);

    }

   }else{

    $this->show_error(2);

   } 

  }

  

  

  function show_error($number){

   $array = array(

    '1'=>'病毒文件未不能读取!',

    '2'=>'病毒文件列表不存在!',

    '3'=>'文件列表不存了',

    '4'=>'查杀的文件不存',

    '5'=>$this->$checkFile.'不存在了,请设置病毒感染文件'

   );

   echo $array[$number];

  }

    

 }

 $virus =new clear_virus;

 $virus->open_file();

?>

希望本文所述对大家的PHP程序设计有所帮助。

以上是 php网页病毒清除类 的全部内容, 来源链接: utcz.com/z/321101.html

回到顶部