我正在学习 Node.js。有人告诉我我可以使用 IPS property向 Express 发出请求以确定请求是否是远程的(即不是本地主机)。我的问题是,如何?
当我读到documentation时对于 IPS 属性,我不清楚如何确定请求是否是从我的本地开发计算机发出的。
谢谢!
最佳答案
// filter to git rid of non-local requests
app.all('/*', function(req, res, next) {
if (req.ip.indexOf("127.0.0.1") > -1 )
{
console.log("Incoming request - Accepted");
next();
}
else
{
console.log("Incoming request - Rejected");
res.send("API only accessable from the local device").status(403).end();
}
});
此代码基本上会过滤所有传入的请求,并检查它们是否来自本地主机。请记住,至少在 Windows 上,本地主机地址以 IPv6 ::ffff:127.0.0.1
形式出现,这就是我们使用 indexOf 命令的原因。
关于node.js - 使用 Express 确定 Node.js 中的请求是否为远程请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849617/