在 express node.js 中使用 req.ip 将 IP 地址列入白名单是否安全?

Is it safe to whitelist an IP address using req.ip in express, node.js?

我想将对我网站的一部分的访问权限列入白名单,以仅处理来自特定 IP 地址的请求。使用 req.ip 按 IP 地址过滤是否安全?对于这样的事情是否有替代的最佳实践?

示例:

const express = require("express");

const app = express();

app.use((req, res, next) => {
  if (req.ip !== "x.x.x.x") {
    return res.status(403).send();
  }
  next();
});

app.get("/whitelist", (req, res, next) => {
  res.send("content");
});

app.listen(3000, "localhost", () => {
  console.log("Server is up");
});

不,这还不够。 。如果有人获得了您的源代码,并且他们足够关心,他们将能够访问受限路径。

需要密码(或某种 验证方式)。