ホームページ  >  記事  >  バックエンド開発  >  thinkphp を使用してクライアント IP を取得する方法

thinkphp を使用してクライアント IP を取得する方法

不言
不言オリジナル
2018-06-08 11:49:074297ブラウズ

この記事では、組み込みの get_client_ip 関数を使用する以外に、thinkphp がクライアント IP を正しく取得する方法を主に紹介します。詳しくは以下をお読みください。

thinkphp フレームワークでは、システムにはクライアントの IP アドレスを取得する組み込みの get_client_ip メソッドがあります。使用例:

$ip = get_client_ip();

に加えて。 thinkphp の組み込み get_client_ip 関数を使用して、次の関数を使用してクライアント IP アドレスを取得することもできます。
#$type は戻り値の型を意味します。0 は IP アドレスを返し、1 は IPV4 アドレス番号を返します。
共有コードは次のとおりです。

# #
function get_client_ip($type = 0) {
  $type    = $type ? 1 : 0;
  static $ip =  NULL;
  if ($ip !== NULL) return $ip[$type];
  if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $arr  =  explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    $pos  =  array_search('unknown',$arr);
    if(false !== $pos) unset($arr[$pos]);
    $ip   =  trim($arr[0]);
  }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
    $ip   =  $_SERVER['HTTP_CLIENT_IP'];
  }elseif (isset($_SERVER['REMOTE_ADDR'])) {
    $ip   =  $_SERVER['REMOTE_ADDR'];
  }
  // IP地址合法验证
  $long = ip2long($ip);
  $ip  = $long ? array($ip, $long) : array('0.0.0.0', 0);
  return $ip[$type];

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。 !

関連する推奨事項:

PHP ツリーを実装する非再帰的方法


PHP を使用して実際の IP を取得する方法ユーザー クライアントの


PHP でアンチホットリンクを実装する方法


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

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