簡體   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