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网页后退不再出现过期
Mar 08 PHP
解析php取整的几种方式
Jun 25 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
ThinkPHP视图查询详解
Jun 30 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 PHP
YII框架行为behaviors用法示例
Apr 26 PHP
laravel5.6实现数值转换
Oct 23 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
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
PHP面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
.netcore+vue 实现压缩文件下载功能
2020/09/24 Javascript
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
为什么称python为胶水语言
2020/06/16 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
外贸业务员求职自荐信分享
2013/09/21 职场文书
生产车间主任的个人自我鉴定
2013/10/25 职场文书
投资入股合作协议书
2014/10/28 职场文书
技术员岗位职责范本
2015/04/11 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
八年级作文之友谊
2019/12/02 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
MySQL8.0的WITH查询详情
2021/08/30 MySQL