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.ini中的php-5.2.0配置指令详解
Mar 27 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
php版微信发红包接口用法示例
Sep 23 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
php实现微信支付之现金红包
May 30 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
php中session与cookie的比较
2015/01/27 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
js玩一玩WSH吧
2007/02/23 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
用Python生成器实现微线程编程的教程
2015/04/13 Python
python在不同层级目录import模块的方法
2016/01/31 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
Python语法分析之字符串格式化
2019/06/13 Python
Python流程控制 while循环实现解析
2019/09/02 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
python3排序的实例方法
2020/10/20 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
财务人员求职自荐书范文
2014/02/10 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
赔偿协议书范本
2014/09/12 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers