繁体   English   中英

Node.js Express.js | 从视图/静态文件夹自动渲染车把模板

[英]Node.js Express.js | Automatically render handelbar templates from views/static folder

我有以下代码可以自动从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);
        }
    });
});

它工作正常,但是我担心这可能会使我的应用面临安全问题。 任何建议,我如何可以做得更好。 我正在使用Express。 非常感谢你的帮助。

我认为这很安全。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM