[英]PHP API get requesters IP Address
美好的一天,我创建了一个PHP API,接受GET / POST请求。
我想获取向我的API 发出请求的服务器的IP地址,以便我进行一些验证。
我尝试为此使用$_SERVER['REMOTE_ADDR']
值,但注意到它不适用于所有类型的网站。
我尝试在线搜索解决方案,但只找到了如何获取客户的IP。
我猜“客户端”是指触发API调用的用户。
我需要的是从中提出请求的网站的服务器地址。
有人可以提供更好的方法吗?
可以从服务器(例如,另一个PHP脚本)或客户端(通常是在使用AJAX的浏览器中使用Javascript)中调用API。 例如,大量的网页中将包含Google Analytics(分析),Google Maps等的Javscript代码段,但对Google的实际调用将由客户端浏览器完成。 在那些情况下,我认为这是许多(大多数?)API的典型情况,您将看到的唯一IP地址是客户端,而不是Web服务器。 Google(和许多其他API)使用的解决方案是要求注册一个免费的API密钥才能使用该API。 通常,您无法将其跟踪到特定的Web服务器,但是它确实允许您与注册API的最初客户或开发人员建立联系。
TL; DR为您的网站用户/客户/开发人员创建一个免费的“ API密钥”,并以此方式进行跟踪。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.