Kirby CMS 4.7.0版本发布:安全增强与开发体验优化
Kirby是一个轻量级、灵活的内容管理系统(CMS),以其简洁的设计和强大的自定义能力著称。最新发布的4.7.0版本带来了一系列值得关注的功能增强和安全改进,特别是会话存储自定义、面板安全增强和开发体验优化等方面。
核心功能增强
自定义会话存储处理器
4.7.0版本引入了一个重要的新功能:session::store核心组件。开发者现在可以通过实现自定义的SessionStore处理器来完全控制会话数据的存储方式。这个功能特别适合需要将会话数据存储在非传统位置(如Redis、MongoDB等)的高级应用场景。
数组变量调试信息
在开发过程中,当变量是数组类型时,系统现在会显示更详细的信息提示。这个改进看似简单,但对于调试复杂数据结构非常有帮助,能帮助开发者快速识别和处理数组类型的数据。
安全增强措施
密码更改确认机制
4.7.0版本在面板中引入了重要的安全改进:当用户(包括管理员)更改自己或其他用户的密码时,系统会要求输入当前密码进行确认。这个机制有效防止了会话劫持攻击,即使攻击者获得了临时访问权限,也无法轻易更改密码来维持持久访问。
安全检查优化
系统视图中的一些安全检查现在会在本地开发环境中自动跳过,减少了开发过程中的干扰。同时,安全检查现在使用LICENSE.md文件而不是composer.json来检测可访问的kirby文件夹,避免了Web应用防火墙可能产生的误报。
开发体验改进
Vue模板编译器配置
开发者现在可以通过配置选择是否启用Vue模板编译器。禁用编译器将加载Vue运行时版本,减少资源占用,但需要注意依赖模板编译器的插件和实验室视图将无法工作。这个配置位于/site/config/config.php中:
return [
'panel' => [
'vue' => [
'compiler' => false
]
]
];
修复与优化
- 自定义区块加载问题:修复了Vue混入覆盖
load方法的问题,确保自定义区块能正确加载。 - 页面HTML表示:请求页面的
html表示现在会正确重定向到不带扩展名的标准页面URL。 - 面板菜单修复:修复了窄视口下的背景显示问题。
- 链接对话框:修复了默认语言的永久链接问题。
- 文件模板写入:修复了文件模板错误写入次要语言内容文件的问题。
- 工具栏按钮:为工具栏按钮添加了缺失的标题属性,提升了可访问性。
总结
Kirby 4.7.0版本在保持系统轻量级特性的同时,通过引入自定义会话存储、增强安全机制和优化开发体验,进一步提升了系统的灵活性和安全性。这些改进使得Kirby更适合构建需要高度定制化和安全性的Web应用,同时也为开发者提供了更顺畅的开发体验。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0216
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03