質問: クライアントのipアドレスを取得する方法 php phpを使用してクライアントのipアドレスを取得する方法を教えてください。自分のipアドレスを使って私のウェブサイトにログインしたユーザーの記録を残したいです。
回答: function get_client_ip() { foreach (array( 'http_client_ip', 'http_x_forwarded_for', 'http_x_forwarded', 'http_x_cluster_client_ip', 'http_forwarded_for', 'http_forwarded', 'remote_addr') as $key) { if (array_key_exists($key, $_server)) { foreach (explode(',', $_server[$key]) as $ip) { $ip = trim($ip); if ((bool) filter_var($ip, filter_validate_ip, filter_flag_ipv4 | filter_flag_no_priv_range | filter_flag_no_res_range)) { return $ip; } } } } return null; } または圧縮版:function get_ip() { foreach (array('http_client_ip', 'http_x_forwarded_for', 'http_x_forwarded', 'http_x_cluster_client_ip', 'http_forwarded_for', 'http_forwarded', 'remote_addr') as $key) { if (array_key_exists($key, $_server) === true) { foreach (array_map('trim', explode(',', $_server[$key])) as $ip) { if (filter_var($ip, filter_validate_ip, filter_flag_no_priv_range | filter_flag_no_res_range) !== false) { return $ip; } } } } }