ホームページ >バックエンド開発 >PHPチュートリアル >PHP のクライアント IP 取得方法の詳細な分析

PHP のクライアント IP 取得方法の詳細な分析

WBOY
WBOYオリジナル
2016-07-25 08:57:151114ブラウズ
  1. function getip() {
  2. $unknown = 'unknown'
  3. if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_ FOR '] , $unknown) ) {
  4. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'] } elseif
  5. ( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR']) , $unknown) ) {
  6. $ip = $_SERVER['REMOTE_ADDR'];
  7. }
  8. /* マルチレイヤー プロキシ状況を処理するか、通常のメソッドを使用します: $ip = preg_match("/[/d/.]{7, 15 }/", $ip, $matches) ? $matches[0] : $unknown; */
  9. if (false !== strpos($ip, ','))
  10. $ip =reset(explode(', ' , $ip)); return $ip
コードをコピーします
; 関数 getenv('HTTP_X_FORWARDED_FOR') または getenv('REMOTE_ADDR') を使用して、上記のコードと同じ効果を達成することもできます。 ただし、getenv() は IIS isapi モードで実行される PHP をサポートしていないことに注意することが重要です。

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