我想获取一个ip来记录用户登录。
我尝试nestjs-real-ip过并且@Ip()。
我尝试通过手机和电脑浏览器登录,
但他们都表现出来了:::1。如何获取客户端的真实IP?
小智 7
:::1是ipv6中的环回地址,等于127.0.0.1ipv4中的。您会看到该地址,因为您正在尝试本地访问本地主机。这就是您的浏览器向您显示的方式。
如果您通过 IP 访问服务器并尝试使用它进行测试,curl您可能会看到其他内容,例如:
curl localhost:3000/ip
::ffff:127.0.0.1
Run Code Online (Sandbox Code Playgroud)
或者
curl 174.38.167.56:3000/ip
::ffff:174.38.167.56
Run Code Online (Sandbox Code Playgroud)
如果您想了解有关该ffff前缀的更多信息,请参见此处
顺便说一句 - 你不需要任何额外的库。在快递中,request.ip会给你同样的答案。这是一个片段:
curl localhost:3000/ip
::ffff:127.0.0.1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6914 次 |
| 最近记录: |