0

有许多托管的 CMS 应用程序为您提供某种内联标记/模板引擎,可让您将内容输出到页面中。

例如,托管的 cms 应用程序允许您编辑模板以自定义 html/css,但它们还允许您在页面上执行一些基本的内联代码来执行此操作,例如注入文章标题、日期等(对象属性)并让您遍历预定义的集合。

他们如何做到这一点?

它们如何防止用户访问您不希望他们访问的其他对象?

例如,Imaine 他们正在输出您的连接字符串!哈哈

这是一个例子:http ://wiki.shopify.com/UsingLiquid

4

1 回答 1

1

通常最安全的方法是创建一种自包含的脚本语言 - 运行时中的运行时,它具有由主机运行时填充的非常有限的内置对象范围,并且没有一个是危险的。显然,在运行时中执行的脚本无法到达它自己的世界之外,除非运行时本身提供了这样做的机制。

于 2009-12-25T23:58:07.277 回答