《PHP應(yīng)用:php網(wǎng)頁(yè)病毒清除類》要點(diǎn):
本文介紹了PHP應(yīng)用:php網(wǎng)頁(yè)病毒清除類,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
本文實(shí)例講述了php網(wǎng)頁(yè)病毒清除類.分享給大家供大家參考.具體如下:PHP應(yīng)用
相信很多人的網(wǎng)頁(yè)經(jīng)常被無(wú)故的在php,asp,html,js 等文件后臺(tái)加上一些木馬地址,造成了很大的困擾!我以前有個(gè)站就是這樣,所以一恨之下寫(xiě)了這段代碼,文章雖然有一點(diǎn)浪費(fèi)資源了,但是總比我們手動(dòng)清除要好吧,下面我為講講程序的清除病毒的原理吧.PHP應(yīng)用
首先們要讀取 $checkFile 文件這個(gè)文章是判斷一個(gè)文章 是否被感染了,如果是就會(huì)執(zhí)行$savafile變量里面的txt文件路徑的所有文件,進(jìn)行按你infecFile病毒列表清除一次.
PHP應(yīng)用
代碼如下:
<?php
?Class clear_virus{
? //public $content;
? public $infectFile ='virus.txt';//病毒文件列表文件
? public $savefile??? ="save.txt";//所在查看病毒的文件列表
? public $timep? ='time.txt';//些記錄清除病毒時(shí)間
? public $checkFile ='e.php';//這里是設(shè)置
? 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.'不存在了,請(qǐng)?jiān)O(shè)置病毒感染文件'
?? );
?? echo $array[$number];
? }
????
?}
?$virus =new clear_virus;
?$virus->open_file();
?>
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所贊助.PHP應(yīng)用
歡迎參與《PHP應(yīng)用:php網(wǎng)頁(yè)病毒清除類》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/13442.html