Javascript 如何在Meteor中访问客户端IP地址?
这似乎是一个非常基本的问题,没有一个优雅的解决方案/答案 如何从(1)服务器或(2)客户端访问客户端(远程)IP地址?您可以使用此软件包:。它在客户端和服务器上都获取头 如果你想在没有软件包的情况下完成这项工作,你可以从上面的代码中“启发”自己,需要记住的是,在0.6.5之前,我们使用了“隐藏的”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
\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
-