美好的一天,我创建了一个PHP API,它接受GET / POST请求。
我想获取向我的API提出请求的服务器的IP地址,以便我进行一些验证。
我尝试使用$_SERVER['REMOTE_ADDR']
值,但发现它并不适用于所有类型的网站。
我尝试在线搜索解决方案,但只找到了如何获取客户端的IP 我猜“客户端”是指触发API调用的用户。
我需要的是网站的服务器地址,请求已经提出。
有人可以提供更好的方法吗?
答案 0 :(得分:0)
可以从服务器(例如,另一个PHP脚本)或客户端调用API - 通常使用AJAX在浏览器中使用Javascript,这种情况更为常见。例如,Google Analytics,Google地图等的Javscript代码段将包含在大量网页中,但实际的Google调用将由客户端浏览器完成。在那些我认为对许多(大多数?)API来说很典型的情况下,您将看到的唯一IP地址是客户端,而不是Web服务器。 Google(以及许多其他API)使用的解决方案是要求注册免费的API密钥才能使用API。您通常无法将其跟踪到特定的Web服务器,但它确实允许您与注册API的初始客户或开发人员建立联系。
TL; DR创建一个免费的" API密钥"为您的网站用户/客户/开发人员并以这种方式跟踪他们。