CakePHP 2.8.3、3.0.18、3.1.13 和 3.2.6 发布
CakePHP 核心团队很高兴宣布立即提供 CakePHP 2.8.3、3.0.18、3.1.13 和 3.2.6。这些版本包含安全修复程序。3.2.6 和 2.8.3 还包含错误修复。
安全修复
这些版本修复了 Validation::uploadedFile() 中的一个弱点,其中文件输入可以被操纵以接受服务器上现有的文件。这可能导致攻击者能够访问敏感的系统文件。如果您正在使用 Validation::uploadedFile() 并且没有检查 mime 类型或确保文件实际上是上传的文件,您应该升级。我们要感谢 Kurita Takashi 报告了这个问题。
2.8.3 中的错误修复
- 改进的 API 文档。(@ravage84)
- 布尔值 false 现在在创建选择框时被视为 0。这允许选择小部件用于布尔值列。(@markstory)
- 优化了嵌套关联加载。(@tharlinsmith)
- ControllerTestCase::testAction() 现在在每次调用后清除请求堆栈。这修复了在使用数组 URL 时,无法在同一测试方法中多次调用 testAction() 的问题。(@markstory)
3.2.6 中的错误修复
- 改进的 API 文档 (@Sethathi, @thinkingmedia)
- 由编组器生成的查询现在正确地为主键列起了别名。(@markstory)
- BelongsToMany 关联中的复杂条件现在可以正常工作。(@markstory)
- 布尔值的选择框小部件现在可以正确生成。false 现在被视为等效于 0。(@markstory)
- Http\Client 现在正确地支持 ssl_verify_peer_name 选项。(@curtisgibby)
- CakePHP 现在可以从 phar 文件中使用。(@lorenzo)
- 子查询中的绑定参数现在会传播到其父查询。(@markstory)
- Postgres 架构反射代码中的一个回归问题已得到纠正。(@markstory)
- 现在可以按预期从实体访问 TitleCase 属性。(@dakota)
- 子命名空间中的单元格现在按预期工作。(@markstory)
- ‘’ 现在是时间输入的有效值。(@markstory)
3.2.6 中的新功能
- Cake\ORM\Marshaller::one() 现在支持一个 forceNew 选项,当主键未定义时,可以使用它来创建 “新” 的 belongsToMany 关联记录。(@Tzaoh)
- SecurityComponent 现在在安全字段比较失败且应用程序处于调试模式时发出有用的错误消息。(@steinkel)
- Validation::localizedTime() 已添加。(@ypnos-web)
- 错误日志包含请求 URL 和推荐 URL。(@mirko-paglial)
像往常一样,我们要衷心感谢所有帮助使这个版本发布的社区成员,他们报告了问题并发送了拉取请求。
下载 github 上的打包版本。