如果暂时无法更新到最新版本,可以参考下面的版本库代码记录,自行增加相关代码。
5.0版本补丁 | 5.1版本补丁

5.0版本修改方法

library/think/app.php

5.1版本修改方法

library/think/route/dispatch/Module.php


关键代码

  1. $controller = strip_tags($result[1] ?: $config['default_controller']);

这里未对控制器进行过滤,导致引入 \ 符号就可以调用任意控制器


V5.1.31主要更新日志

  • 改进field方法
  • 改进count方法返回类型
  • download函数增加在浏览器中显示文件功能
  • 修正多对多模型的中间表数据写入
  • 改进sqlsrv驱动支持多个Schemas模式查询
  • 统一助手函数与\think\response\Download函数文件过期时间
  • 完善关联模型的save方法 增加make方法仅创建对象不保存
  • 修改条件表达式对静态变量的支持
  • 修正控制器名获取
  • 改进view方法的field解析

    V5.0.23主要更新日志

  • Query支持调用模型的查询范围
  • 聚合查询字段支持DISTINCT
  • 改进闭包验证的参数
  • 多对多关联支持指定中间表数据名称
  • after/before验证支持指定字段验证
  • 改进多对多关联
  • 改进验证类
  • 增加afterWithbeforeWith验证规则 用于比较日期字段
  • 完善规则提示
  • 改进断线重连
  • 修正软删除的destroy方法
  • 修复模型的save方法当data变量为空 数据不验证
  • 模型增加replace方法
  • MorphOne 增加 make 方法创建关联对象实例
  • 改进count方法返回值类型
  • 改进聚合查询方法的正则判断
  • 改进sqlsrv驱动
  • 完善关联的save方法
  • 修正控制器名获取

原文摘自: 流年 https://blog.thinkphp.cn/869075