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编码规范之注释和文件结构说明
Jul 09 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
php include类文件超时问题处理
Feb 06 PHP
php生成验证码函数
Oct 20 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
php compact 通过变量创建数组
Nov 15 PHP
php获取excel文件数据
Apr 21 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
php实现简单四则运算器
Nov 29 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调用数据库的存贮过程!
2006/10/09 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
《灰椋鸟》教学反思
2014/04/27 职场文书
中学总务处工作总结
2015/08/12 职场文书
如何基于python实现单目三维重建详解
2022/06/25 Python