php网页病毒清除类


Posted in PHP onDecember 08, 2014

本文实例讲述了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 相关文章推荐
PHP如何透过ODBC来存取数据库
Oct 09 PHP
缓存技术详谈―php
Dec 14 PHP
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
使用php实现从身份证中提取生日
May 09 PHP
php 一维数组的循环遍历实现代码
Apr 10 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
php的扩展写法总结
May 14 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 #PHP
简单实用的PHP防注入类实例
Dec 05 #PHP
ThinkPHP连接数据库的方式汇总
Dec 05 #PHP
PHP生成RSS文件类实例
Dec 05 #PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 #PHP
ThinkPHP中redirect用法分析
Dec 05 #PHP
php查询ip所在地的方法
Dec 05 #PHP
You might like
php 抽象类的简单应用
2011/09/06 PHP
JavaScript基本对象
2007/01/11 Javascript
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python实现图片识别加翻译功能
2019/12/26 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
学前教育毕业生自荐信范文
2013/12/24 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
我的画教学反思
2014/04/28 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
协议书格式模板
2016/03/24 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
员工升职自我评价
2019/03/26 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
python基础之错误和异常处理
2021/10/24 Python