近日报网站被挂马的解决方法

分享
未结 精华 置顶
6 657
chichu
chichu 2019-02-28

核心框架为ThinkPHP5.0版本的:

在think\App类的module方法的获取控制器的代码后面加上

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }

最终效果

// 获取控制器名
$controller = strip_tags($result[1] ?: $config['default_controller']);

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}

$controller = $convert ? strtolower($controller) : $controller;

// 获取操作名
$actionName = strip_tags($result[2] ?: $config['default_action']);


核心框架为ThinkPHP5.1版本的:

在think\route\dispatch\Url类的parseUrl方法,解析控制器后加上

if ($controller && !preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }

最终效果

if ($this->param['auto_search']) {
    $controller = $this->autoFindController($module, $path);
} else {
    // 解析控制器
    $controller = !empty($path) ? array_shift($path) : null;
}

if ($controller && !preg_match('/^[A-Za-z][\w|\.]*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}

// 解析操作
$action = !empty($path) ? array_shift($path) : null;



上一篇:猪年的第一波活动

下一篇:首页怎么调用指定栏目和搜索

回帖
  • 2019-02-26 16:38:05

    @娜娜

    我跟你一个鬼样、

    0 回复
  • 2019-02-22 10:09:13

    @凌什么°

    嗯 解决了,这几天观察了下,没中毒。

    0 回复
  • 2019-02-22 09:21:55

    @娜娜

    解决没有

    0 回复
  • 2019-02-18 16:05:06

    请问 是针对下图 的解决方法吗?  试过了WebShellKill 查杀,隔离了病毒文件,重新覆盖了index.php。2月13号处理完的,今天又挂马了。今天重新查杀后,并未发现病毒文件。


    0 回复
  • 2019-02-18 15:59:58

    可以详细说下是哪个文件的哪个位置吗

    0 回复
  • 2019-02-02 13:38:43



    0 回复
取消评论