我们使用 X-Forwarded-For 获得了代理背后的客户端真实 IP。
但现在的问题是,当我们使用 simplexml_load_file 调用 Web 服务时,托管 Web 服务的服务器获取的是我们服务器的 IP,而不是真正的客户端服务器。
所以我们需要一种方法在 X-Forwarded-For 头中设置 IP,以便 webservice 获取客户端的 IP,这意味着它会感觉客户端 IP 已经调用了 webservice。
我们使用 X-Forwarded-For 获得了代理背后的客户端真实 IP。
但现在的问题是,当我们使用 simplexml_load_file 调用 Web 服务时,托管 Web 服务的服务器获取的是我们服务器的 IP,而不是真正的客户端服务器。
所以我们需要一种方法在 X-Forwarded-For 头中设置 IP,以便 webservice 获取客户端的 IP,这意味着它会感觉客户端 IP 已经调用了 webservice。
一种可能性是开始使用curl
与 Web 服务进行通信,以便您能够设置标头值
$ip = '123.123.123.123'; // your client's IP Address
curl_setopt( $ch, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip",
"X_FORWARDED_FOR: $ip"));