欢迎来到科站长!

PbootCMS

当前位置: 主页 > CMS教程 > PbootCMS

最新pbootcms被挂马终极解决方案

时间:2024-04-29 10:19:29|栏目:PbootCMS|点击:

pbootcms被黑挂马,查不到木马病毒文件,pbootcms和其他CMS一样,安全漏洞也是其无法避免的问题。虽然官方不断发布补丁、升级版本,但安全问题依然存在。

今天我们介绍一个病毒:

http://域名/jjjc/90.html?id=52239633.shtml

http://域名/jjjc/89.html?id=52239634.shtml

pbootcms被黑挂马解决办法:

1)替换apps以及core文件,如果本地没有备份保存,那么可以选择升级到最近版本,目前官方也根据这个问题进行了更新处理.

2)修改robots.txt文件添加针对首页问题的拒绝访问规则

# Robots 

Disallow: /admin/*

Disallow: /skin/

Disallow: /template/

Disallow: /static/*

Disallow: /api/*

Disallow: /?*

3) 修改源码,在apps/home/controller/IndexController.php 文件中添加针对首页带参数问题的处理。代码大概在200行以后找到//一级目录这里,在上方添加

if(strstr(URL,"?")){    
   _404('您访问的路径错误,请核对后重试!');    
}

如下:在这里的后方加上else流程,进入主页流程的操作,同时加上urlJump方法(或者升级到最新版本以后再进行修改)

 

urlJump方法

//首页跳转并过滤注入字符    
    /*    
     * @param $type url模式    
     * @param $isSecSiteDir 是否为二级目录 boolean    
     * */    
    private function urlJump($type, $isSecSiteDir){    
        $http = is_https() ? 'https://' : 'http://';    
        $matches1 = '';    
        switch ($type){    
            //普通模式    
            case 1:    
                $preg1 = '';    
                if($isSecSiteDir === true){    
                    if($_SERVER['REQUEST_URI'] == SITE_DIR . '/index.php'){    
                        $preg1 = '/^/.*?/index.php/';    
                    } elseif($_SERVER['REQUEST_URI'] == '/index.php'){    
                        $preg1 = '/^/index.php/';    
                    }    
                } else {    
                    $preg1 = '/^/index.php/';    
                }    
                preg_match($preg1,$_SERVER['REQUEST_URI'],$matches1);    
                break;    
            //伪静态    
            case 2:    
                $preg2 = '';    
                if($isSecSiteDir === true){    
                    if($_SERVER['REQUEST_URI'] == SITE_DIR . '/'){    
                        $preg2 = '/^/.*/';    
                    } elseif($_SERVER['REQUEST_URI'] == '/'){    
                        $preg2 = '/^/$/';    
                    }    
                } else {    
                    $preg2 = '/^/.*/';    
                }    
                preg_match($preg2,$_SERVER['REQUEST_URI'],$matches1);    
                break;    
            //兼容模式    
            case 3:    
                $preg3 = '';    
                if($isSecSiteDir === true){    
                    if(strpos($_SERVER['REQUEST_URI'], SITE_DIR) === 0){    
                        $preg3 = '/(^/.*?/index.php)|(^/.*)/';    
                    } elseif(strpos($_SERVER['REQUEST_URI'], '/') === 0){    
                        $preg3 = '/(^/index.php)|(^/)/';    
                    }    
                } else {    
                    $preg3 = '/(^/index.php)|(^/)/';    
                }    
                preg_match($preg3,$_SERVER['REQUEST_URI'],$matches1);    
                break;    
        }    
        if($matches1[0]){    
            if($_SERVER['REQUEST_URI'] == $matches1[0]){    
                $this->getIndexPage();    
            } else {    
                header("Location: " . $http . $_SERVER['HTTP_HOST'] . $matches1[0], true, 301);    
            }    
        } else {    
            _404('您访问的页面不存在,请核对后重试!');    
        }    
    }

通过以上三步基本上就可以杜绝本次批量被挂马的问题,后续就是要加强服务器上的安全验证的问题了.

上一篇:Pbootcms模板安装教程(MYSQL版)

栏    目:PbootCMS

下一篇:pbootcms火车头采集免登录模块

本文标题:最新pbootcms被挂马终极解决方案

本文地址:https://fushidao.cc/CMSjiaocheng/270.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:1205677645 | 邮箱:1205677645@qq.com

Copyright © 2018-2024 科站长 版权所有冀ICP备14023439号