我是水晶新手(从未真正使用过红宝石),所以为这里的无知道歉!我查看了ecr 文档,但似乎无法在那里找到答案。
我正在考虑在Kemal中将 Embedded Crystal 用于动态模板。我可以确认 - 模板只能呈现调用范围内可用的变量,还是可以从模板本身进行方法/函数调用?IE 是否存在能够从模板中执行“恶意”水晶代码的可能性/风险(在这种情况下,恶意是指 I/O 或文件访问等)?
以 Kemal 文档为例:
get "/:name" do |env|
name = env.params.url["name"]
render "src/views/hello.ecr"
end
在视图hello.ecr
中 - 是name
模板中唯一可用的项目,还是可以File.delete("./foo")
从模板中调用?