ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5 でクライアントの IP アドレスを取得する方法は?

Laravel 5 でクライアントの IP アドレスを取得する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-20 08:37:02938ブラウズ

How to Obtain a Client's IP Address in Laravel 5 ?

Laravel 5 でクライアントの IP アドレスを取得する

PHP では、$_SERVER["REMOTE_ADDR"] を使用してクライアントの IP アドレスを簡単に取得できます。 。ただし、Laravel では、この手法は訪問者の IP ではなくサーバー IP を返します。

解決策:

Laravel でクライアント IP アドレスを正確に取得するには、次を使用します。

<code class="php">Request::ip();</code>

この関数は Symfony の getClientIps メソッドに依存しており、次の情報に基づいてクライアント IP を決定します:

  1. 信頼されたプロキシ:

    • IP が信頼できるプロキシではない場合、クライアント IP が返されます。
  2. 転送ヘッダー:

    • Forwarded ヘッダーが存在し、信頼できる場合、for パラメータはクライアント IP に対して解析されます。
  3. クライアント IP ヘッダー:

    • Client-IP ヘッダーが存在し、信頼できる場合は、IP の配列が抽出され、最初の有効な IP が返されます。

フォールバック:

上記のヘッダーがどれも利用できない、または信頼できない場合は、$_SERVER["REMOTE_ADDR"] から取得した IP が使用されます。

例:

<code class="php">$clientIp = Request::ip();</code>

これにより訪問者の IP アドレスが提供され、Laravel アプリケーション内に IP ベースの機能を実装できるようになります。

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

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