FIT2CLOUD
文档 的图标

文档

2,089
795

一个为Halo提供文档 / 知识库能力的插件。 my-docs在 Halo 原有文章与页面模型之外,补充一套独立的文档系统,用来承载产品手册、开发文档、帮助中心这类需要树形目录和连续阅读体验的内容。

1.7.4
tsdaer 发布于
>=2.25.0

根因

设置服务会把同一主机的签名凭证归并成「单个元素、内嵌换行」的形态(host: access: X + 换行 + host: secret: Y),而签名解析把列表元素当作一行处理——归一化形态的值因包含换行被防注入检查整条拒绝。自 1.6.4 引入 SigV4 支持以来,通过设置页配置的签名凭证从未真正生效过,私有桶请求全部以未签名发出,R2 回 400 InvalidArgument / Authorization。

此前的测试直接注入逐行形态的凭证,恰好绕过了归一化这一环,因此一直未能发现。

修复

  • parseSigningRules 先把每个元素按行拆开再解析:设置页保存的「一行一条」与设置服务归一化后的「内嵌换行」两种形态均支持;防注入检查保留(拆行后的值不再包含换行)。
  • 新增走完整链路的回归测试:UI 两行凭证 → 设置服务归一化 → 代理签名,断言 Authorization 头存在;并对真实 R2 私有桶验证同一链路可正常流式取回。

升级

升级到 1.7.4 后无需重新配置,已保存的签名凭证即刻生效。


Generated from v1.7.4

资源下载

  • plugin-my-docs-1.7.4.jar