Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP API获取请求者IP地址_Php_Api_Request_Ip - Fatal编程技术网

PHP API获取请求者IP地址

PHP API获取请求者IP地址,php,api,request,ip,Php,Api,Request,Ip,您好,我已经创建了一个PHP API,它接受GET/POST请求 我想获取向我的API发出请求的服务器的IP地址,以便进行验证 我尝试使用$\u SERVER['REMOTE\u ADDR']值来实现这一点,但注意到它并不适用于所有类型的网站 我试图在线搜索解决方案,但只找到了如何获取客户的IP。 我猜“客户端”是指触发API调用的用户 我需要的是发出请求的网站服务器地址。有人能提供更好的方法吗?可以从服务器(例如另一个PHP脚本)调用API,也可以从客户端调用API,通常是使用AJAX的浏览器

您好,我已经创建了一个PHP API,它接受GET/POST请求

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

我尝试使用
$\u SERVER['REMOTE\u ADDR']
值来实现这一点,但注意到它并不适用于所有类型的网站

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


我需要的是发出请求的网站服务器地址。
有人能提供更好的方法吗?

可以从服务器(例如另一个PHP脚本)调用API,也可以从客户端调用API,通常是使用AJAX的浏览器中的Javascript,这是非常常见的。例如,Google Analytics、Google Maps等的Javscript片段将包含在大量网页中,但对Google的实际调用将由客户端浏览器完成。在这些情况下,我认为这是许多(大多数?)API的典型情况,您将看到的唯一IP地址是客户端,而不是web服务器。Google(和许多其他API)使用的解决方案是,为了使用API,需要注册一个免费的API密钥。您通常无法将其跟踪到特定的web服务器,但它确实允许您与注册API的初始客户或开发人员进行连接


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

除非客户向您发送该信息,否则我无法确定该信息。你只有客户端发送给你的信息。在这个类比中,服务器不是你的客户端吗。此外,他们可能会使用VPN或其他方法为您提供虚假的IPI。是否有任何方法可以保护您免受VPN或其他方法的影响?改进了这个问题。