【发布时间】:2017-01-16 11:55:10
【问题描述】:
我是 Crystal 的新手(从未真正使用过 ruby),因此对这里的无知表示歉意!我查看了ecr docs,但似乎无法在那里找到答案。
我正在考虑在 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")?
【问题讨论】:
标签: crystal-lang kemal