如何取得对方的HOST IP?

A : 使用者
B : 主机
C : API 主机

当 A 使用者浏览 B 主机时
B 主机打了一只 API 到 C 主机去 (有在 B 写一只 AJAX 代码打 C)
我在 C 主机这只 API 可否取得到 B 主机 的HOST IP? (非使用者的IP)

阅读 2.9k
2 个回答

通过 $_SERVER['HTTP_REFERER'] 可以获取到 B 主机的 HOST

然后在根据 HOST 再去获取 IP,但是如果遇到不同地区不同 IP 的,就不准了

<?php

$host = preg_replace('#^[^/]+://((?:\w+\.)+\w+).*$#', '$1', $_SERVER['HTTP_REFERER']);

$ip = gethostbyname($host);

echo $ip;

根据你的描述,猜测你的部署类似前后端分离,前端部署在B后端部署在C,客户A访问部署在B的ajax请求C,实际还是从A-->C,所以你没有办法在C上捕获B的IP

理论上B主机的IP是你自己的服务器,你应该是知道IP的,为啥要舍近求远?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题