検索
ホームページバックエンド開発PHPの問題PHPでクライアントのIPアドレスを取得する方法

#php でクライアント IP アドレスを取得する方法

PHPでクライアントのIPアドレスを取得する方法

1. プロキシ サーバーを使用しない場合

REMOTE_ADDR = クライアント IP HTTP_X_FORWARDED_FOR = 値がないか、表示されません (推奨学習:

PHP ビデオ チュートリアル )

$ip = $_SERVER['REMOTE_ADDR'];

2. 透過プロキシを使用します

REMOTE_ADDR = 最後のプロキシ サーバー IP


HTTP_X_FORWARDED_FOR = クライアントの実際の IP (複数のプロキシ サーバーを経由する場合、この値は同様です: 221.5.252.160、203.98.182.163、203.129.72.215)

このタイプのプロキシは、クライアントの実際の IP もリクエスト オブジェクトに送信しますが、実際の IP を隠すことはできません。


$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

3. 通常の匿名プロキシ サーバーを使用します

REMOTE_ADDR = 最後のプロキシ サーバー IP


HTTP_X_FORWARDED_FOR = プロキシ サーバー IP (複数のプロキシ サーバーを通過する場合、この値は同様になります: 203.98.182.163、203.98.182.163、203.129.72.215)

これによりクライアントの実際の IP が隠蔽されますが、サーバーはクライアントがプロキシ サーバーを通過することを認識します。アクセスされました。


4. 不正なプロキシ サーバーを使用する

REMOTE_ADDR = プロキシ サーバー IP


HTTP_X_FORWARDED_FOR = ランダム IP (複数のプロキシ サーバーを経由する場合、この値は同様です: 220.4.251.159、203.98.182.163、203.129.72.215)

サーバーはプロキシ サーバー経由のアクセスを識別できますが、偽の IP がターゲット サーバーに送信されます。


5. 匿名性の高いプロキシを使用します

REMOTE_ADDR = プロキシ サーバーの IP HTTP_X_FORWARDED_FOR = 値がない、または表示されません


これを使用します。異なるプロキシ、異なるブラウザ、異なるデバイスを使用する場合、異なる IP ヘッダー情報が返されるため、$_SERVER["REMOTE_ADDR"] および $_SERVER["HTTP_X_FORWARDED_FOR"] を使用して PHP によって取得される値は、null 値または「不明」になる可能性があります。 " 価値。


PHP は次のように IP コードを取得します:

public function ip() {
    //strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。
    if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
        $ip = getenv('HTTP_CLIENT_IP');
    } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
        $ip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
        $ip = getenv('REMOTE_ADDR');
    } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
        $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    }
    $res =  preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
    echo $res;
    //dump(phpinfo());//所有PHP配置信息
}

以上がPHPでクライアントのIPアドレスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。