Javascript Node.js Express.js |从视图/静态文件夹自动渲染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.

我有以下代码,可以从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.send(404, 'Sorry cant find that!');
        } else {
            res.send(html);
        }
    });
});

它工作正常,但我担心这可能会使我的应用程序暴露于安全问题。有什么建议我可以做得更好吗。我在用快车。非常感谢您的帮助。

我觉得它很安全

通常,您必须担心所传递的路径包含
。/
(返回目录级别)之类的内容,但这些路径与您的路径不匹配。此外,您声明的路由将在
/
处停止匹配,因此像
/foo/./bar
这样的请求也不会匹配

static
目录包含您不想公开的文件时,可能会出现一个问题:对
/secret.js
的请求至少会尝试呈现一个名为
static/secret.js
的文件