ユーザーの IP アドレスを取得する場合、PHP の $_SERVER 変数を使用してさまざまな方法を使用できます。 。ただし、これらの方法の精度は異なる場合があります。この記事では、最も信頼性の高い手法を検討し、ユーザーの実際の IP アドレスを取得するための包括的なソリューションを提供します。
質問で提供されているコードは、複数の $_SERVER 変数を利用して、プロキシやインターネット サービス プロバイダー (ISP) のバリエーションの可能性を考慮して、クライアントの IP アドレスを決定します。これは、HTTP_CLIENT_IP のチェックから始まり、validate_ip() を使用して他の多数の変数を調べて有効性を確認します。
validate_ip() は、FILTER_FLAG_NO_PRIV_RANGE フラグと FILTER_FLAG_NO_RES_RANGE フラグを指定した filter_var() 関数を使用します。プライベートを除外し、
答えは、validate_ip() のフィルター拡張機能に依存することや HTTP_X_FORWARDED_FOR 処理を簡素化することなど、いくつかの最適化を示唆しています。これらの変更により、コード効率が向上しながら機能が維持されます。
この記事では、ユーザーの正確な IP アドレスを取得するのに完璧な方法はないことを認めています。ただし、各手法の制限を考慮することの重要性を強調し、ほとんどのシナリオでは REMOTE_ADDR が依然として最も信頼できるソースであることを警告しています。
その答えは、簡潔な関数 get_ip_address() です。これは、いくつかの $_SERVER 変数を反復処理し、最初に見つかった有効な IP アドレスを返します。この簡略化されたアプローチは、ほとんどのユースケースに実用的なソリューションを提供します。
最終的に、ユーザーの IP アドレスを取得する最適な方法は、特定のアプリケーションとその要件によって異なります。この記事で紹介するコード サンプルと最適化は、PHP で正確な IP アドレスを取得するという課題に対処する包括的なソリューションを提供します。
以上がPHP でユーザーの IP アドレスを正確に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。