我正在 Meteor 中创建自定义登录/注册,因为我需要检查电子邮件格式,更重要的是在注册表单中添加验证码,这需要客户端的 IP。
所以我打算在Accounts.validateNewUser
中验证验证码,但我不知道如何在这里获取客户端的ip。
我读了一篇answer关于如何做到这一点,但这不是我想要的。我检查了 Meteor.default_server.sessions,其中包含服务器上的所有 session /套接字。它们包含有关所有套接字的 header 、ip 的信息。每个都有有趣的东西,例如:
pathname: "/sockjs/375/ibmrlwb2/xhr"
prefix: "/sockjs"
protocol: "xhr-polling"
remoteAddress: "127.0.0.1"
remotePort: 42009
但是在不知道当前是哪个套接字的情况下,我无法确定当前请求是哪个IP。
如何知道当前对服务器的请求 url?这样我就可以检查服务器上的所有套接字来推断客户端的 IP。
或者只是简单地如何获取服务器上客户端的IP?
最佳答案
我是 user-status 的维护者其他答案中提到的包。
最近/即将推出的 Meteor 版本有 better support for managing connections以及built-in support for grabbing IP addresses 。结合事实login hooks今天刚刚合并到 devel
分支中,您应该能够直接处理这个问题,或者使用我们将添加到 user-status 包中的内容。
如果您需要什么,请随时打开拉取请求。
关于meteor - 在 Meteor 中创建用户时获取客户端的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226570/