ホームページ  >  記事  >  バックエンド開発  >  PHP はクライアントとサーバーの IP を取得するためのカプセル化クラスを実装します

PHP はクライアントとサーバーの IP を取得するためのカプセル化クラスを実装します

墨辰丷
墨辰丷オリジナル
2018-06-01 16:46:382220ブラウズ

この記事では主に、クライアントとサーバーの IP を取得するための PHP のカプセル化クラスを紹介します。サーバーの事前定義された変数を使用して PHP の基本的な使用法を簡単に分析し、必要な場合は簡単なカプセル化を実行します。詳細は次のとおりです。

クライアント IP 関連の変数:

1. $_SERVER['REMOTE_ADDR']; クライアント IP はユーザーの IP またはプロキシの IP です。

2. $_SERVER['HTTP_CLIENT_IP']; プロキシ IP が存在する可能性があり、偽造される可能性があります。

3. $_SERVER['HTTP_X_FORWARDED_FOR']; ユーザーがプロキシとして使用する IP は存在する可能性があり、偽造される可能性があります。

サーバー側の IP 関連変数:

1. $_SERVER["SERVER_NAME"]、関数 gethostbyname() を使用して取得する必要があります。この変数はサーバー側とクライアント側の両方で正しく表示されます。

2. $_SERVER["SERVER_ADDR"]、サーバー側でテスト: 127.0.0.1 (これは httpd.conf の BindAddress の設定値に関連します)。クライアントでのテスト結果は正しいです。

カテゴリーは以下の通りです:

class getIP{
 function clientIP(){
 $cIP = getenv('REMOTE_ADDR');
 $cIP1 = getenv('HTTP_X_FORWARDED_FOR');
 $cIP2 = getenv('HTTP_CLIENT_IP');
 $cIP1 ? $cIP = $cIP1 : null;
 $cIP2 ? $cIP = $cIP2 : null;
 return $cIP;
 }
 function serverIP(){
 return gethostbyname($_SERVER["SERVER_NAME"]);
 }
}
$getIP = new getIP();
$clientIp = getIP::clientIP();
$serverIp = getIP::serverIP();
echo &#39;Client IP is &#39;,$clientIp,&#39;<br />&#39;;
echo &#39;Server IP is &#39;,$serverIp,&#39;<br />&#39;;

概要: 以上がこの記事の全内容です、皆様の学習に役立てば幸いです。

関連する推奨事項:

PSR プログラミング標準に準拠した PHP の例


phpcurl によるログインのシミュレーションとデータの取得の例

php 4 つの一般的な操作方法の詳細な説明

以上がPHP はクライアントとサーバーの IP を取得するためのカプセル化クラスを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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