在Meteor中创建用户时获取客户端的IP

时间:2013-06-21 01:54:41

标签: meteor

我正在Meteor中创建自定义登录/注册,因为我需要检查电子邮件格式,更重要的是要在注册表单中添加重新访问,这需要客户端的IP。

所以我打算在Accounts.validateNewUser验证验证码,但是我无法弄清楚如何在这里获取客户端的ip。 我读了answer如何做到这一点,但这不是我想要的。我检查了包含服务器上所有会话/套接字的Meteor.default_server.sessions。它们包含有关所有套接字的标头,ips的信息。每个人都有一些有趣的东西,如:

pathname: "/sockjs/375/ibmrlwb2/xhr"
prefix: "/sockjs"
protocol: "xhr-polling"
remoteAddress: "127.0.0.1"
remotePort: 42009

但是不知道哪个套接字是当前套接字,我无法确定当前请求的哪个ip。

如何知道服务器的当前请求网址?有了它,我可以检查服务器上的所有套接字来推断客户端的IP。

或者只是如何在服务器上获取客户端的IP?

2 个答案:

答案 0 :(得分:2)

我是另一个答案中提到的user-status包的维护者。

最近/即将推出的Meteor版本better support for managing connections以及built-in support for grabbing IP addresses。结合今天login hooks刚刚合并到devel分支的事实,你应该能够直接处理它或使用我们将添加到用户状态包的东西。

如果有需要,请随意打开拉取请求。

答案 1 :(得分:0)

使用user-status包可以获取客户端的ip。您可以使用包或查看代码,看看它是如何完成的。