安全模式
Asciidoctor 提供安全级别,用于控制文档处理期间属性、包含指令、宏和脚本的读写访问。每个级别都包含先前安全级别中启用的限制。
可以在 CLI 和 API 中设置安全模式。您还可以 根据当前安全模式启用或禁用内容。
SAFE
SAFE 安全模式级别阻止访问位于源文件父目录之外的文件。包含指令(include::[])已启用,但包含文件的路径必须在父目录内。此模式允许将资产(如样式表)嵌入文档中。
其整数值为 1。
SERVER
SERVER 安全模式级别禁止文档设置会影响文档转换的属性。此级别会将 docfile 修剪为其相对路径,并阻止文档
-
设置
source-highlighter、doctype、docinfo和backend -
查看
docdir(因为它可能会泄露有关主机文件系统的//信息//)
它允许 icons 和 linkcss。
其整数值为 10。
SECURE
SECURE 安全模式级别禁止文档尝试从文件系统读取文件并将其内容包含在文档中。此外,它
-
禁用图标
-
禁用包含指令(
include::[]) -
无法从 URI 检索数据
-
阻止访问样式表和 JavaScript 文件
-
将后端设置为
html5 -
禁用
docinfo文件 -
禁用
data-uri -
禁用 SVG 的交互式(
opts=interactive)和内联(opts=inline)模式 -
禁用
docdir和docfile(因为它们可能会泄露有关//主机//文件系统的//信息//) -
禁用源代码高亮
Asciidoctor 扩展根据是否遵守安全模式设置,仍可能将内容嵌入文档中。
这是 API 的默认安全模式。其整数值为 20。
GitHub 使用 SECURE 模式处理 AsciiDoc 文件。 |