サーバーの同じディレクトリ ( http://www.xxxx.com/php/ ) に2 つの php ファイルがあります。
1) write_json.php
$address['http_client'] = $_SERVER['HTTP_CLIENT_IP'];
$address['http_x_forwarded_for'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
$address['http_x_forwarded'] = $_SERVER['HTTP_X_FORWARDED'];
$address['http_forwarded_for'] = $_SERVER['HTTP_FORWARDED_FOR'];
$address['http_forwarded'] = $_SERVER['HTTP_FORWARDED'];
$address['remote_addr'] = $_SERVER['REMOTE_ADDR'];
header('Content-Type: アプリケーション/json');
echo json_encode($アドレス);
2) get_ip.php
$json_url = $_SERVER['SERVER_NAME'] . '/php/write_json.php';
$json_string = '';
$ch = curl_init($json_url);
$options = array(CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json'),
CURLOPT_POSTFIELDS => $json_string);
curl_setopt_array($ch, $options);
$json_string = curl_exec($ch);
echo $json_string;
get_ip.phpはwrite_json.php を呼び出し ます
クライアント IP が76.2.35.46 で、サーバー IP が80.59.3.23であると仮定すると 、クライアント ブラウザでhttp://www.xxxx.com/php/get_ip.php
を呼び出すと、
次のように、クライアント IP ではなくサーバー IP が表示されます。
{
http_client: ヌル、
http_x_forwarded_for: null,
http_x_forwarded: ヌル、
http_forwarded_for: null,
http_forwarded: null,
remote_addr: "80.59.3.23"
}
サーバー IP の代わりにクライアント IP を取得するにはどうすればよいですか?