PHP API获取请求者的IP地址

时间:2017-02-20 17:35:06

标签: php api request ip

美好的一天,我创建了一个PHP API,它接受GET / POST请求。

我想获取向我的API提出请求的服务器的IP地址,以便我进行一些验证。

我尝试使用$_SERVER['REMOTE_ADDR']值,但发现它并不适用于所有类型的网站。

我尝试在线搜索解决方案,但只找到了如何获取客户端的IP 我猜“客户端”是指触发API调用的用户。

我需要的是网站的服务器地址,请求已经提出。
有人可以提供更好的方法吗?

1 个答案:

答案 0 :(得分:0)

可以从服务器(例如,另一个PHP脚本)或客户端调用API - 通常使用AJAX在浏览器中使用Javascript,这种情况更为常见。例如,Google Analytics,Google地图等的Javscript代码段将包含在大量网页中,但实际的Google调用将由客户端浏览器完成。在那些我认为对许多(大多数?)API来说很典型的情况下,您将看到的唯一IP地址是客户端,而不是Web服务器。 Google(以及许多其他API)使用的解决方案是要求注册免费的API密钥才能使用API​​。您通常无法将其跟踪到特定的Web服务器,但它确实允许您与注册API的初始客户或开发人员建立联系。

TL; DR创建一个免费的" API密钥"为您的网站用户/客户/开发人员并以这种方式跟踪他们。