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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
php全排列递归算法代码
Oct 09 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
php开发工具有哪五款
Nov 09 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 PHP
PHP执行系统命令函数实例讲解
Mar 03 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 在线翻译函数代码
2009/05/07 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
vue v-model的用法解析
2020/10/19 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
python自动安装pip
2014/04/24 Python
python实现猜数字小游戏
2020/03/24 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
django celery redis使用具体实践
2019/04/08 Python
python实现图片九宫格分割
2021/03/07 Python
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
美国眼镜网站:LensCrafters
2020/01/19 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
2014年班主任工作总结
2014/11/08 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP