Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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
如何使用simplexml\u load\u文件将PHP中的X-Forwarded-For设置为发送客户端IP_Php - Fatal编程技术网

如何使用simplexml\u load\u文件将PHP中的X-Forwarded-For设置为发送客户端IP

如何使用simplexml\u load\u文件将PHP中的X-Forwarded-For设置为发送客户端IP,php,Php,我们使用X-Forwarded-For在代理后获得了客户端真实IP 但现在的问题是,当我们使用simplexml_load_文件调用web服务时,托管web服务的服务器获取我们服务器的IP,而不是真正的客户机服务器 因此,我们需要一种在X-Forwarded-For报头中设置IP的方法,以便web服务获取客户端的IP,这意味着它将感觉客户端IP调用了web服务。一种可能是开始使用与web服务通信,以便您能够设置报头值 $ip = '123.123.123.123'; // your client

我们使用X-Forwarded-For在代理后获得了客户端真实IP

但现在的问题是,当我们使用simplexml_load_文件调用web服务时,托管web服务的服务器获取我们服务器的IP,而不是真正的客户机服务器


因此,我们需要一种在X-Forwarded-For报头中设置IP的方法,以便web服务获取客户端的IP,这意味着它将感觉客户端IP调用了web服务。

一种可能是开始使用与web服务通信,以便您能够设置报头值

$ip = '123.123.123.123'; // your client's IP Address
curl_setopt( $ch, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip",
                                            "X_FORWARDED_FOR: $ip"));

因此,只需在请求中设置一个HTTP头。如何做到这一点完全取决于您提出请求的准确程度。但这并不能保证有效。任何头脑正常的服务器都会忽略X-Forwarded-For标头。不,这不起作用。HTTP不是必需的,只有X-Forwarded-For-worked
curl-setopt($ch,CURLOPT\u-HTTPHEADER,array(“REMOTE\u-ADDR:$ip”,“X-Forwarded-For:$ip”)对我来说是X-For