この記事では、PHP でクライアントの実際の IP アドレスを取得する方法を主に紹介します。ある参考値がありますので、共有します。必要な友人は参考にしてください。
推奨マニュアル: php完全自習マニュアル
REMOTE_ADDR HTTP_CLIENT_IP HTTP_X_FORWARDED_FOR HTTP_VIA
関連記事の推奨:
1.phpでユーザーのIPアドレスを取得する方法
2.php はどのようにしてクライアントの IP アドレスを取得しますか?
関連ビデオの推奨:
1.Dugu Jiijian (4)_PHP ビデオ チュートリアル
#3 価値の違い
1. プロキシ サーバーが使用されていない場合:
REMOTE_ADDR = Your IPHTTP_VIA = 値がないか、表示されません
HTTP_X_FORWARDED_FOR = 値がないか、表示されません
2. 透過的プロキシ サーバーを使用する場合: 透過的プロキシ
REMOTE_ADDR = 最後のプロキシ サーバーの IP HTTP_VIA = プロキシサーバー IP
HTTP_X_FORWARDED_FOR = 実際の IP。複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.98.182.163、203.129.72.215。
このタイプのプロキシ サーバーは依然としてあなたの情報を訪問者に転送するため、あなたの本当の身元を隠すという目的を達成することはできません。
3. 通常の匿名プロキシ サーバーを使用する場合: 匿名プロキシ
REMOTE_ADDR = 最後のプロキシ サーバー IP HTTP_VIA = プロキシ サーバー IP
HTTP_X_FORWARDED_FOR = プロキシ サーバーIP が複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.98.182.163、203.129.72.215。
実際の IP を隠しますが、プロキシ サーバーを使用してアクセスしていることを対象者に明らかにします。
4. 欺瞞的なプロキシ サーバーの使用: プロキシの歪曲
REMOTE_ADDR = プロキシ サーバー IP HTTP_VIA = プロキシ サーバー IP
HTTP_X_FORWARDED_FOR = ランダム IP、複数のプロキシ サーバーを経由する場合、この値は 203.98.182.163、203.98.182.163、203.129.72.215 のようになります。
訪問者に、プロキシ サーバーを使用していることを伝えますが、実際の IP の代わりに偽のランダム IP を作成して騙します。
5. 高匿名性プロキシ サーバーを使用する場合: 高匿名性プロキシ (エリート プロキシ)
REMOTE_ADDR = プロキシ サーバー IPHTTP_VIA = 値がないかどうか表示される
HTTP_X_FORWARDED_FOR = 値がないか、表示されません。複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.98.182.163、203.129.72.215。
プロキシ サーバーを使用してオブジェクトに直接アクセスしているのと同じように、すべての情報をプロキシ サーバーの情報で完全に置き換えます。
6. クライアントの実際の IP アドレスを取得する例:
function get_real_ip() { $ip=FALSE; //客户端IP 或 NONE if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } //多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空 if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i < count($ips); $i++) { if (!eregi ("^(10│172.16│192.168).", $ips[$i])) { $ip = $ips[$i]; break; } } } //客户端IP 或 (最后一个)代理服务器 IP return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); }
関連する推奨事項:
ファイルを圧縮および解凍するための php コード
PHP クラス ライブラリ PHPqrCode を使用して、 2 つの QR コードを生成します
以上がPHPでクライアントの実際のIPアドレスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。