Javascript Node.js Express.js |从视图/静态文件夹自动渲染handelbar模板
我有以下代码,可以从views/static文件夹自动加载我的handelbar模板,而无需手动为每个页面设置路由Javascript Node.js Express.js |从视图/静态文件夹自动渲染handelbar模板,javascript,node.js,express,routes,Javascript,Node.js,Express,Routes,我有以下代码,可以从views/static文件夹自动加载我的handelbar模板,而无需手动为每个页面设置路由 app.get("/:template", function(req,res){ var template = req.params.template; // Is this safe? res.render("static/" + template, function(err, html) { if (err) { res.
app.get("/:template", function(req,res){
var template = req.params.template; // Is this safe?
res.render("static/" + template, function(err, html) {
if (err) {
res.send(404, 'Sorry cant find that!');
} else {
res.send(html);
}
});
});
它工作正常,但我担心这可能会使我的应用程序暴露于安全问题。有什么建议我可以做得更好吗。我在用快车。非常感谢您的帮助。我觉得它很安全 通常,您必须担心所传递的路径包含
。/
(返回目录级别)之类的内容,但这些路径与您的路径不匹配。此外,您声明的路由将在/
处停止匹配,因此像/foo/./bar
这样的请求也不会匹配
当static
目录包含您不想公开的文件时,可能会出现一个问题:对/secret.js
的请求至少会尝试呈现一个名为static/secret.js
的文件