使用Express确定Node.js中的请求是否为远程请求

使用Express确定Node.js中的请求是否为远程请求,node.js,express,Node.js,Express,我在学习节点。有人告诉我,我可以使用请求的表达式来确定请求是否是远程的(即不是本地主机)。我的问题是,怎么做 当我阅读IPS属性的时,我不清楚如何确定请求是否来自本地开发机器 谢谢 在您的路线中: app.get('/', function(req, res) { if (req.ip != '127.0.0.1') { //This is not localhost } } 基本上,您希望查看请求的IP地址,并将其与您的IP地址进行比较。您可以通过req.ip查看此信息,然后

我在学习节点。有人告诉我,我可以使用请求的表达式来确定请求是否是远程的(即不是本地主机)。我的问题是,怎么做

当我阅读IPS属性的时,我不清楚如何确定请求是否来自本地开发机器

谢谢

在您的路线中:

app.get('/', function(req, res) {
  if (req.ip != '127.0.0.1') {
    //This is not localhost
  }
}
基本上,您希望查看
请求的IP地址
,并将其与您的IP地址进行比较。您可以通过
req.ip
查看此信息,然后决定要执行的操作

// 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上,本地主机地址my作为IPv6
::ffff:127.0.0.1
输入,这就是我们使用indexOf命令的原因