首页 > 语言 > PHP > 正文

php网页病毒清除办法

2024-09-04 11:44:08
字体:
来源:转载
供稿:网友

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

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

  1. <?php 
  2.  Class clear_virus{ 
  3.   //public $content; 
  4.   public $infectFile ='virus.txt';//病毒文件列表文件 
  5.   public $savefile    ="save.txt";//所在查看病毒的文件列表 
  6.   public $timep  ='time.txt';//些记录清除病毒时间 
  7.   public $checkFile ='e.php';//这里是设置 
  8.   public $run   =0; 
  9.   public $virus_type
  10.   public $replace  ; 
  11.   public $filepath ;  
  12.   public $tag         =0;  
  13.     
  14.   function open_file(){ 
  15.    $this->read_virus();    
  16.    $this->check_File(); 
  17.    if($this->run){  
  18.     $this->update_time();  
  19.     $this->read_file() ;     
  20.     foreach($this->filepath as $tmppath){ 
  21.      if(file_exists($tmppath)){ 
  22.       $tmp_file =file_get_contents($tmppath);  
  23.       print_r( $this->virus_type);       
  24.         for$i=0;$i<sizeof($this->virus_type);$i++ ){ 
  25.          ifstrrpos($tmp_file,$this->virus_type[$i])!== false){ 
  26.           $tmp_file =str_replace($this->virus_type[$i],'',$tmp_file); 
  27.           $this->tag =1;           
  28.          }          
  29.         } 
  30.         if$this->tag ){ 
  31.          $handle =fopen($tmppath,'w'); 
  32.          fwrite($handle,$tmp_file); 
  33.          fclose($handle); 
  34.          unset($tmp_file);  
  35.         }      
  36.        
  37.      }else
  38.       ; 
  39.      }       
  40.     }  
  41.    } 
  42.   } 
  43.    
  44.   function check_File(){ 
  45.    if(file_exists($this->checkFile) ){ 
  46.     $temp =file_get_contents($this->checkFile) ; 
  47.     echo $temp
  48.      foreach$this->virus_type as $v_tmp ){ 
  49.       ifstrrpos($temp,$v_tmp)!== false ){ 
  50.        $this->run =1; 
  51.        break
  52.       } 
  53.      } 
  54.      echo $this->run; 
  55.      unset($temp);     
  56.    }else
  57.     $this->show_error(5); 
  58.    } 
  59.   } 
  60.    
  61.   function update_time(){ 
  62.    if(file_exists($this->timep) ){ 
  63.     $tmp_time =date("Y-m-d H:i:s").chr(13).'|'
  64.     $tmp_fp  =fopen($this->timep,'a+'); 
  65.     fwrite($tmp_fp,$tmp_time); 
  66.     fclose($tmp_fp);     
  67.    } 
  68.     
  69.   } 
  70.    
  71.    
  72.   function read_File(){   
  73.    if(file_exists($this->savefile) ){    
  74.     $this->content =file($this->savefile);     
  75.     if(is_array($this->content)){     
  76.      $this->filepath =$this->content;      
  77.     }else
  78.      $this->show_error(3); 
  79.     } 
  80.    }else
  81.     $this->show_error(4); 
  82.    }  
  83.   } 
  84.    
  85.    
  86.   function read_virus(){   
  87.    if(file_exists($this->infectFile) ){    
  88.     $this->replace =file($this->infectFile);     
  89.     if(is_array($this->replace)){     
  90.      $this->virus_type=$this->replace;      
  91.     }else
  92.      $this->show_error(1); 
  93.     } 
  94.    }else
  95.     $this->show_error(2); 
  96.    }  
  97.   } 
  98.    
  99.    
  100.   function show_error($number){ 
  101.    $array = array
  102.     '1'=>'病毒文件未不能读取!'
  103.     '2'=>'病毒文件列表不存在!'
  104.     '3'=>'文件列表不存了'
  105.     '4'=>'查杀的文件不存'
  106.     '5'=>$this->$checkFile.'不存在了,请设置病毒感染文件' 
  107.    );//开源代码Vevb.com 
  108.    echo $array[$number]; 
  109.   } 
  110.      
  111.  } 
  112.  $virus =new clear_virus; 
  113.  $virus->open_file(); 
  114. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表