Node.js 輸入驗證

2021-06-01 09:50 更新

1.1.1【必須】按類型進行數(shù)據(jù)校驗

  • 所有程序外部輸入的參數(shù)值,應(yīng)進行數(shù)據(jù)校驗。校驗內(nèi)容包括但不限于:數(shù)據(jù)長度、數(shù)據(jù)范圍、數(shù)據(jù)類型與格式。校驗不通過,應(yīng)拒絕。

// bad:未進行輸入驗證
Router.get("/vulxss", (req, res) => {
    const { txt } = req.query;
    res.set("Content-Type", "text/html");
    res.send({
        data: txt,
    });
});


// good:按數(shù)據(jù)類型,進行輸入驗證
const Router = require("express").Router();
const validator = require("validator");


Router.get("/email_with_validator", (req, res) => {
    const txt = req.query.txt || "";
    if (validator.isEmail(txt)) {
        res.send({
            data: txt,
        });
    } else {
        res.send({ err: 1 });
    }
});

關(guān)聯(lián)漏洞:縱深防護措施 - 安全性增強特性

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號