Javascript 如何在Meteor中访问客户端IP地址?

Javascript 如何在Meteor中访问客户端IP地址?,javascript,node.js,meteor,meteorite,Javascript,Node.js,Meteor,Meteorite,这似乎是一个非常基本的问题,没有一个优雅的解决方案/答案 如何从(1)服务器或(2)客户端访问客户端(远程)IP地址?您可以使用此软件包:。它在客户端和服务器上都获取头 如果你想在没有软件包的情况下完成这项工作,你可以从上面的代码中“启发”自己,需要记住的是,在0.6.5之前,我们使用了“隐藏的”\uuuuuuu meteor\uuuuu bootstrap\uuu.app,而在0.6.5之后,建议在客户端使用WebApp.connectHandler。 headers = { list

这似乎是一个非常基本的问题,没有一个优雅的解决方案/答案

如何从(1)服务器或(2)客户端访问客户端(远程)IP地址?

您可以使用此软件包:。它在客户端和服务器上都获取头

如果你想在没有软件包的情况下完成这项工作,你可以从上面的代码中“启发”自己,需要记住的是,在0.6.5之前,我们使用了“隐藏的”
\uuuuuuu meteor\uuuuu bootstrap\uuu.app
,而在0.6.5之后,建议在客户端使用
WebApp.connectHandler

headers = {
    list: {},
    get: function(header, callback) {
        return header ? this.list[header] : this.list;
    }
}

Meteor.call('getReqHeaders', function(error, result) {
    if (error) {
        console.log(error);
    }
    else {
        headers.list = result;
    }
});
在服务器上:

headers = {
    list: {},
    get: function(header) {
        return header ? this.list[header] : this.list;
    }
};

var app = typeof WebApp != 'undefined' ? WebApp.connectHandlers : __meteor_bootstrap__.app;
app.use(function(req, res, next) {
    reqHeaders = req.headers;
    return next();
});

Meteor.methods({
    'getReqHeader': function(header) {
        return reqHeaders[header];
    },
    'getReqHeaders': function () {
        return reqHeaders;
    },
});
获取客户端IP:

在没有http请求的情况下,在函数中,您应该能够使用以下命令获取clientIP:

clientIP = this.connection.clientAddress;
//EX: you declare a submitForm function with Meteor.methods and 
//you call it from the client with Meteor.call().
//In submitForm function you will have access to the client address as above
使用http请求并使用iron路由器及其路由器。映射功能:

clientIP = this.connection.clientAddress;
//EX: you declare a submitForm function with Meteor.methods and 
//you call it from the client with Meteor.call().
//In submitForm function you will have access to the client address as above
在目标路线使用的操作功能中:

clientIp = this.request.connection.remoteAddress;

正如弗洛林所提到的,这一切现在几乎都与流星融为一体,而不是我们必须自己去做的黑暗时代。但是,我还将其包装在一个包中,该包跟踪所有打开的连接,并允许您查询它们的IP:。它还可以做一些其他有用的事情。

请参阅:不知道cgi bin是什么,也不知道如何使用它来实现此目的……:/这是一个非常好的解决方案:)在服务器上没有很好的工作——也许我做错了:Salol Florin,提到这个问题是一个完美的复制品,怎么样?我完全同意,当时我想发表评论,而不是回答,但我没有足够的信誉点(在不属于您的问题/答案上发表评论需要50便士或更多)这只在版本0.7.1.1之后提供,适用于那些在旧版本上运行应用程序的人,比如我。这现在已经过时。客户端IP现在通过核心
clientAddress
-