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 相关文章推荐
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
PHP解决中文乱码
Apr 28 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
php中yii框架实例用法
Dec 22 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.MVC的模板标签系统(一)
2006/09/05 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
Python(Tornado)模拟登录小米抢手机
2013/11/12 Python
Python实现从订阅源下载图片的方法
2015/03/11 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
写自荐信的七个技巧
2013/10/15 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
教师师德承诺书
2014/03/26 职场文书
教师业务学习材料
2014/12/16 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python