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 HtmlReplace输入过滤安全函数
Jul 03 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
Jul 01 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
thinkPHP中分页用法实例分析
Dec 26 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
php优化查询foreach代码实例讲解
Mar 24 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
python实现贪吃蛇游戏
2020/03/21 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
数学专业毕业生自荐信
2013/11/10 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
营销计划书范文
2015/01/17 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
党小组意见范文
2015/06/08 职场文书
师范生教育见习总结
2015/06/23 职场文书
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫