首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中获取远程服务器的IP地址

在PHP中获取远程服务器的IP地址
EN

Stack Overflow用户
提问于 2019-10-17 03:36:56
回答 1查看 63关注 0票数 0

我正在构建我的第一个API驱动的应用程序。我正在寻找一种方法来检索发出请求的服务器IP地址。

这是工作流程。

[User Website] => Sends Auth Request To [API Server]

当用户从他们的网站发出身份验证请求时,我希望API服务器检索用户网站的IP地址。现在,我已经通过$_SERVER,它会给我从应用程序接口服务器给我的IP地址,或者它会给我用户计算机的IP地址,而不是他们网站的IP地址。

下面是一个例子

[user:24.64.64.192] => BROWSER => [user-website:74.68.125.194] => API Request => [API Server:25.25.192.168]

现在我只能得到25.25.192.16824.64.64.192。我需要得到的是74.68.125.194,{IP地址是虚构的}

那么,当发出身份验证请求时,API Server如何检索74.68.125.194呢?

除非我遗漏了什么,否则我唯一能想到的就是将IP地址作为参数附加到我的身份验证请求中

EN

回答 1

Stack Overflow用户

发布于 2019-10-17 03:46:26

发出请求的设备的IP地址为$_SERVER['REMOTE_ADDR'];

但是,如果您使用的是反向代理,或客户端网站通过标准代理连接到您的服务器,您将在那里找到代理的IP,因为它是将请求转发到您的服务器的代理。在这种情况下,您希望查找$_SERVER['HTTP_X_FORWARDED_FOR']$_SERVER['HTTP_CLIENT_IP'],是否设置这些值取决于代理。

正如@Joe在评论中所说的那样。如果您可以在这些字段中找到用户的IP地址,则对API的请求直接来自用户的浏览器,而不是来自用户的网站服务器。在这种情况下,您找不到网站服务器的IP,因为它不在此请求中。您可以创建一些解决方法(在JS中),以确定网站服务器的IP并将其包含在API请求中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58420569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档