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 相关文章推荐
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
Feb 11 PHP
FirePHP 推荐一款PHP调试工具
Apr 23 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
destoon常用的安全设置概述
Jun 21 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
ThinkPHP数据操作方法总结
Sep 28 PHP
php array_keys 返回数组的键名
Oct 25 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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中的UNICODE 编码与解码
2013/06/29 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
javascript实现动态标签云
2015/10/16 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
JavaScript学习笔记整理_关于表达式和语句
2016/09/19 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
Python实现栈的方法
2015/05/26 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
TensorFlow损失函数专题详解
2018/04/26 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
学生抄作业检讨书(2篇)
2014/10/17 职场文书
党员自评材料范文
2014/12/17 职场文书
保管员岗位职责
2015/02/14 职场文书
保护校园环境倡议书
2015/04/28 职场文书
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js