StartMVC更新日志

版本日志更新

php类库

更新日志

  • v2.9.0
    通过给文件缓存的 unserialize 加上 allowed_classes => false 白名单与数据格式校验、
    [修改]startmvc/boot.php[修改]startmvc/core/Exception.php[修改]startmvc/core/Logger.php
    09/04/2026
  • v2.8.7
    取消输入端默认的 `htmlspecialchars` 转义(数组不递归、单引号不转义、双重转义隐患一并消除),统一为"输入不转义、输出用 `e()` 转义",显式开启 `filter` 时也会递归转义数组并以 `ENT_QUOTES/UTF-8` 处理。
    [修改]startmvc/boot.php[修改]startmvc/core/Http.php
    09/03/2026
  • v2.8.9
    让模板安全模式配置 tpl_safe_mode 真正生效(开启时剔除 {php}/{echo} 标签),并为 {include} 添加 realpath 路径穿越校验,涉及 View.php 和 config/view.php 两个文件。
    [修改]config/view.php[修改]startmvc/boot.php[修改]startmvc/core/View.php
    09/03/2026
  • v2.8.8
    Request::ip() 和 get_ip() 改为仅在 REMOTE_ADDR 命中新增的 trusted_proxies 配置时才从 X-Forwarded-For 右侧取真实 IP,否则一律返回 REMOTE_ADDR,杜绝伪造请求头。
    [修改]config/common.php[修改]config/view.php[修改]startmvc/boot.php
    09/03/2026
  • 取消输入端默认的 `htmlspecialchars` 转义(数组不递归、单引号不转义、双重转义隐患一并消除),统一为"输入不转义、输出用 `e()` 转义",显式开启 `filter` 时也会递归转义数组并以 `ENT_QUOTES/UTF-8` 处理。
    [修改]config/common.php[修改]config/view.php[修改]startmvc/boot.php
    09/03/2026
  • v2.8.6
    模板引擎实现了 XSS 输出转义:新增 e() 转义助手,{$var} 默认转义输出,原文输出改用显式的 {html $var}/{raw $var} 标签,并提供 auto_escape 配置开关。
    [修改]config/view.php[修改]startmvc/boot.php[修改]startmvc/core/View.php
    09/03/2026
  • v2.8.5
    把 Loader 里残留的旧反射注入合并进 Container,使模型、过滤器与控制器统一走同一套依赖注入(绑定、单例、循环依赖检测全部贯通)。
    [修改]startmvc/boot.php[修改]startmvc/core/Loader.php
    09/03/2026
  • v2.8.4
    将 Controller 响应方法的 exit() 改为抛出 HttpResponseException 并由框架统一捕获发送:
    中断执行语义零破坏,同时中间件可参与响应后处理,管道不再被截断。
    [修改]startmvc/boot.php[修改]startmvc/core/App.php[修改]startmvc/core/Controller.php
    09/03/2026