StartMVC更新日志

版本日志更新

php类库

更新日志

  • 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
  • v2.8.3
    重构路由,多种路由统一走一个入口(路由表),支持多种路由方式:
    基本路由(配置数组/正则);
    链式注册 Router::get/post/put/delete;
    路由组(group 统一加前缀);
    路由级中间件(某条路由要求登录);
    RESTful 资源路由(resource 一行生成 7 条);
    路由参数 :id/:num 占位符;
    URL 后缀 .html 自动处理;
    [修改]config/route.php[修改]startmvc/boot.php[修改]startmvc/core/App.php
    08/31/2026