杰基尔“安全”标志是什么意思?

时间:2013-09-30 03:39:58

标签: ruby jekyll

Jekyll documentation for creating custom plugins谈到safe标志。它给出的描述是:

  

安全 - 一个布尔标志,通知Jekyll是否可以在不允许任意代码执行的环境中安全地执行此插件。

我很难理解这个解释。 “任意代码”究竟是什么意思?

2 个答案:

答案 0 :(得分:3)

对于核心插件(与Jekyll捆绑在一起),safe: true基本上意味着该插件将被允许在Github页面上。

例如,假设有一个插件在用户提供的.markdown中解析了类似的内容:

{% execute_shell "ls | wc -l" %}

..并执行命令,并将输出包含在生成的帖子中。 Github不希望启用这样的插件,因为它允许任何人在他们的服务器上执行任意shell命令(这使得安全性变得更加困难),因此它将被标记为safe: false

相比之下,例如,自动将mr@example.com转换为可点击链接的插件没有任何固有的安全问题,因此可以标记为safe:true并在Github的服务器上运行而无需担心

答案 1 :(得分:1)

我认为这意味着它是一个boolean(可以是true或false)的标志,让Jekyll知道你附加安全标志的插件可以在一个人无法注入代码时安全地使用它(在输入数据时基本上输入自己的编程代码)。

本质上,安全标志意味着该插件可以安全地用于该环境的用户的正常环境中。