在express,node.js中使用req.ip将IP地址列入白名单是不是安全?
Posted
技术标签:
【中文标题】在express,node.js中使用req.ip将IP地址列入白名单是不是安全?【英文标题】:Is it safe to whitelist an IP address using req.ip in express, node.js?在express,node.js中使用req.ip将IP地址列入白名单是否安全? 【发布时间】:2021-06-28 00:32:48 【问题描述】:我想将访问我网站的某个部分列入白名单,以便仅适用于来自特定 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");
);
【问题讨论】:
【参考方案1】:不,这还不够。 The IP of the request can be faked。如果有人掌握了您的源代码,并且他们足够关心,他们将能够访问受限路线。
需要密码(或一些验证方式)。
【讨论】:
以上是关于在express,node.js中使用req.ip将IP地址列入白名单是不是安全?的主要内容,如果未能解决你的问题,请参考以下文章
在 node.js/express 中使用 EJS 显示图像
在 Node.js + Express 中使用 Promise 处理错误
使用 express.js 在 node.js 中提供 html 的最佳实践是啥?