# 2021 年 11 月

# 更新版本:v7.1.0

操作系统 下载
Windows 64 位 sscms-7.1.0-win-x64.zip (opens new window)
Windows 32 位 sscms-7.1.0-win-x86.zip (opens new window)
Linux sscms-7.1.0-linux-x64.tar.gz (opens new window)
MacOS sscms-7.1.0-linux-x64.zip (opens new window)

欢迎使用 2021 年 11 月发布的 SSCMS v7.1.0 版本。新版本采用最新的 .NET 6 作为开发框架,新增 SSCMS 安全运行模式,同时增加了部分功能以及修复了漏洞,其中一些主要亮点包括:

注意

从 V7.0.x 版本升级至 V7.1.0 需要安装.NET 6 托管捆绑包安装程序(直接下载) (opens new window)

# 采用最新.NET 6 框架

本月,微软宣布.NET 6 正式推出,并称其为迄今为止最快的 .NET 版本,本次发布的 SSCMS v7.1.0 将采用全新的 .NET 6 作为底层框架,与微软保持同步。

.NET 6 包含众多亮点,其中主要包括:

  • 使用 Microsoft 服务、其他公司运行的云应用程序和开源项目进行了生产压力测试。
  • 作为最新的长期支持 (LTS) 版本提供三年的技术支持。
  • 跨浏览器、云、桌面、IoT和移动应用程序的统一平台,全部使用相同的 .NET 库,可便捷地共享代码。
  • 性能全面提升,尤其是文件I/O 的性能,减少了执行时间、等待时间和内存使用。
  • C#10带来了语言改进,例如记录结构 (record structs)、隐式使用和新的 lambda 功能,同时编译器添加了增量源代码生成器。F#6新特性包括基于 task 的异步、管道调试和多项性能改进。
  • Visual Basic 在Visual Studio 体验和 Windows Forms 项目打开体验方面进行了改进。
  • 热重载 (Hot Reload) 支持跳过重新构建和重新启动以查看新更改(当应用程序正处于运行状态),此特性支持在 Visual Studio2022中使用,并通过 .NET CLI 为 C# 和 Visual Basic 提供了支持。
  • 云诊断已通过OpenTelemetry和dotnet monitor进行改进,现在在生产环境中得到支持,并且可用于 Azure 应用服务。
  • JSON API更强大,并提供源代码生成器器用于串行更高的性能。
  • ASP.NET Core 引入了最少的 API,以简化入门体验并提升 HTTP 服务的性能。
  • Blazor组件现在可以从 JavaScript 渲染并与现有的基于 JavaScript 的应用程序集成。
  • 用于 Blazor WebAssembly (Wasm) 应用程序的WebAssembly AOT编译,以及对运行时重新链接和本机依赖项的支持。
  • 使用 ASP.NET Core 构建的单页应用程序现在使用了更灵活的模式,可以与 Angular、React 和其他流行的前端 JavaScript 框架一起使用。
  • 添加了 HTTP/3以便 ASP.NET Core、HttpClient 和 gRPC 都可以与 HTTP/3客户端和服务器交互。
  • 文件 IO 现在支持符号链接,并通过从头开始重新编写FileStream大幅提升了性能。
  • 通过支持OpenSSL3、ChaCha20Poly1305加密方案和运行时纵深防御缓解措施(特别是W^X和CET),安全性得到了提升。
  • 支持为 Linux、macOS 和 Windows(以前仅适用于 Linux)发布单文件应用程序。
  • IL 修剪现在更加强大和有效,提供了新的警告和分析器,可确保正确的最终结果。
  • 添加了源代码生成器和分析器,可帮助生成更好、更安全和更高性能的代码。
  • 源代码构建使 Red Hat 等组织能够从源代码构建 .NET,并向其用户提供自己的构建版本。

.NET 6 详情查看发布公告:https://devblogs.microsoft.com/dotnet/announcing-net-6/ (opens new window)

# 推出 SSCMS 安全模式

SSCMS 内容管理系统定位于企业级 CMS 系统,在实际运行中能够很好地满足各种复杂应用场景,但与此同时,系统不可避免地在后台中暴露了太多功能,对安全性要求较高的单位来说,可能有一定安全隐患。

因此,我们在新版本中新增了 SSCMS 安全运行模式,安全模式将禁用部分功能并提供更安全的运行环境。

SSCMS 系统默认为非安全模式,启动安全模式需要在 sscms.json 配置文件中添加:

  • IsSafeMode:是否为安全模式
{
  "IsSafeMode": true
}

同上,如果我们希望关闭安全模式,可以将 IsSafeMode 设置为 false

重启 SSCMS 系统,我们将在后台右上角看到安全模式标识。

安全模式

# 漏洞修复及安全增强

新版本有针对性地对系统安全性进行了加强,修复漏洞:

  • 修复Microsoft.AspNetCore.Authentication.JwtBearer安全漏洞
  • 修复存在Spring boot 信息泄露漏洞
  • 指定内容表有sql注入风险 #I4HJKG (opens new window)
  • 修复登录存在验证码设计缺陷,先验证码后账号口令,可以绕过验证码验证
  • 修复内容编辑页面跨站点伪造请求(CSRF)漏洞
  • 同版本升级向导添加SecurityKey验证,增强安全性

# 规范插件开发方式,发布插件开发手册

SSCMS 插件是扩展 SSCMS 产品核心功能的代码包,SSCMS 插件由.NET代码和其他文件(如图片、CSS和JavaScript等)组成。

通过插件可以扩展 SSCMS,在 SSCMS 已经提供的功能基础上构建额外的功能。例如,编写一个插件来控制对应栏目的内容模型,采用自定义的字段提交并显示内容文章;或者,可以编写一个插件,创建一个带有短信通知、支持第三方支付的全功能票务系统。

自 SSCMS 7.0 发布以来,我们一直在优化 SSCMS 插件的开发方式与规范,SSCMS 7.1 版本将正式确定插件开发方式与规范,并同时发布了插件开发手册 (opens new window)

# 其他优化及功能修复

根据 github (opens new window) 以及 gitee (opens new window) 中用户的反馈,我们对新版本进行了以下优化及功能修复:

  • 邮件发送的抬头是否可修改 #3118 (opens new window)
  • 管理员工作量统计
  • 表单验证规则设置为必须为中文时无法提交
  • 7.0.12 添加时间 BUG #3130 (opens new window) #I4BTF7 (opens new window)
  • 修复Safari浏览器环境下Icon图标不显示问题
  • 输入框提示语有重复字
  • 优化package.json插件配置文件,将菜单以及权限类型默认为站点
  • 将PUT以及DELETE方法改为POST方法,避免防火墙拦截
  • 修复编辑器内点击图片上传,上传之后显示载入中,必须在编辑器内回车才能正常显示BUG
  • 生成页面时候,历史生成记录是否能只显示当前站点,不要显示所有站点的记录 #I3W40B (opens new window)
  • form插件 sscms.form\wwwroot\assets\form\js\data.js apiGet方法 由$this.styleList = res.styleList; 修改为 $this.styleList = res.styles
  • 将VueJs框架从2.5.16版本更新至2.6.14版本,修复vuejs漏洞
  • 将 ElementUI 版本更新至最新版本2.15.6,修复 ElementUI BUG
  • 分享插件:fixed axios 参数格式和axios response格式 https://github.com/siteserver/sscms.share #2
  • 内容在切换到html源代码模式时进行更改 如果不切回可视状态直接点“预览”是没有效果的 #I4BTAK (opens new window)
  • v7.02版本,后台上传图片后,点击缩略图显示原图的功能无效。如何解决呢? #3215 (opens new window)
  • 修复管理员及用户API Logout接口返回404的问题。#I403R1 (opens new window)
  • 站点字段类型为日期和时间选择框时,无法保存 #3253 (opens new window)
  • <stl:pageSqlContents> 标签翻页后显示列表重复
  • 修复 <stl:pageSqlContents> 标签翻页10页后不显示问题
  • 后台添加栏目时,不小心滑到旁边容易关闭窗口 #I3USGH (opens new window)
上次更新: 2022/3/13 下午4:15:12