用于创建自定义插件的Jekyll 文档讨论了一个safe
标志。它给出的描述是:
safe - 一个布尔标志,通知 Jekyll 是否可以在不允许执行任意代码的环境中安全地执行此插件。
我很难理解那个解释。“任意代码”到底是什么意思?
对于核心插件(与 Jekyll 捆绑的),safe: true
基本上意味着该插件将被允许在 Github Pages 上使用。
例如,假设有一个插件在 user-supplied 中解析了这样的内容.markdown
:
{% execute_shell "ls | wc -l" %}
..并执行命令,并将输出包含在生成的帖子中。Github 不希望启用这样的插件,因为它允许任何人在其服务器上执行任意 shell 命令(这使得安全性变得更加困难),因此它将被标记为safe: false
相比之下,例如自动转换mr@example.com
为可点击链接的插件没有任何固有的安全问题,因此可以被标记为safe:true
并在 Github 的服务器上运行而无需担心
我认为这意味着它是一个布尔标志(可以是真或假),它让 Jekyll 知道当人们无法向其中注入代码时,可以安全使用您附加安全标志的插件(本质上输入数据时放入自己的编程代码)。
本质上,安全标志意味着插件可以安全地在正常环境中使用,例如,该环境的用户。