Node.js 输入验证

2021-06-01 09:50 更新

1.1.1【必须】按类型进行数据校验

  • 所有程序外部输入的参数值,应进行数据校验。校验内容包括但不限于:数据长度、数据范围、数据类型与格式。校验不通过,应拒绝。

  1. // bad:未进行输入验证
  2. Router.get("/vulxss", (req, res) => {
  3. const { txt } = req.query;
  4. res.set("Content-Type", "text/html");
  5. res.send({
  6. data: txt,
  7. });
  8. });
  9. // good:按数据类型,进行输入验证
  10. const Router = require("express").Router();
  11. const validator = require("validator");
  12. Router.get("/email_with_validator", (req, res) => {
  13. const txt = req.query.txt || "";
  14. if (validator.isEmail(txt)) {
  15. res.send({
  16. data: txt,
  17. });
  18. } else {
  19. res.send({ err: 1 });
  20. }
  21. });

关联漏洞:纵深防护措施 - 安全性增强特性

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号