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 . '不存在了,请设置病毒感染文件' ); //开源代码phpfensi测试数据 echo $array [ $number ]; } } $virus = new clear_virus; $virus ->open_file(); ?>查看更多关于php网页病毒清除办法 - php类库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29535