Maison >développement back-end >tutoriel php >Comment utiliser thinkphp pour obtenir l'adresse IP du client

Comment utiliser thinkphp pour obtenir l'adresse IP du client

不言
不言original
2018-06-08 11:49:074402parcourir

Cet article présente principalement comment thinkphp obtient correctement l'adresse IP du client. En plus d'utiliser la fonction get_client_ip intégrée, existe-t-il d'autres méthodes ? Lisez ci-dessous pour le savoir.

Dans le framework thinkphp, le système dispose d'une méthode get_client_ip intégrée pour obtenir l'adresse IP du client. Exemple d'utilisation :

$ip = get_client_ip();

De plus. Pour utiliser la fonction get_client_ip intégrée de thinkphp, vous pouvez également utiliser la fonction suivante pour obtenir l'adresse IP du client.
$type signifie que le type de retour 0 renvoie l'adresse IP, 1 renvoie le numéro d'adresse IPV4
Le code partagé est le suivant

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];

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au PHP. Site chinois !

Recommandations associées :

Méthode non récursive pour implémenter l'arborescence PHP

Utilisez PHP pour obtenir la véritable adresse IP du client utilisateur

Comment implémenter l'anti-hotlinking en PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn