• 技术文章 >后端开发 >php教程

    php网页病毒清除类_PHP

    2016-05-31 18:15:38原创344
    本文实例讲述了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;$ivirus_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程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 网页 病毒 清除
    上一篇:php常用字符串比较函数实例汇总_PHP 下一篇:简单实用的PHP防注入类实例_PHP
    千万级数据并发解决方案

    相关文章推荐

    • PHP控制网页过期时间的代码_PHP• 投票管理程序_PHP• 挑战最棒的留言本的源码(二)_PHP• PHP文件上传的具体思路及实现_PHP• PHP用户认证及管理完全源码_PHP
    1/1

    PHP中文网