Maison > développement back-end > Problème PHP > Comment implémenter la collection IP en php

Comment implémenter la collection IP en php

藏色散人
Libérer: 2023-03-14 15:16:01
original
3553 Les gens l'ont consulté

Comment obtenir l'IP en PHP : 1. Utilisez "$_SERVER["REMOTE_ADDR"]" pour obtenir ; 2. Utilisez "($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]" pour obtenir ; Méthode getRealIp Get, etc.

Comment implémenter la collection IP en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.

Comment PHP implémente-t-il la collecte d'adresses IP ?

php obtient un résumé des adresses IP des visiteurs

Parfois, nous avons besoin d'obtenir la véritable adresse IP de l'utilisateur, par exemple, les enregistrements de journaux, la géolocalisation, les informations utilisateur, l'analyse des données du site Web. , etc., en fait, obtenir l'adresse IP est très simple, il suffit de $_SERVER['REMOTE_ADDR'].

Nous allons maintenant résumer pour vous quelques méthodes couramment utilisées pour obtenir des adresses IP.

//Méthode 1 :

$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
Copier après la connexion

//Méthode 2 :

Le code est le suivant :

$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
Copier après la connexion

//Méthode 3 :

function getRealIp()
{
  $ip=false;
  if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
  }
  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    for ($i = 0; $i < count($ips); $i++) {
      if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
        $ip = $ips[$i];
        break;
      }
    }
  }
  return ($ip ? $ip : $_SERVER[&#39;REMOTE_ADDR&#39;]);
}
echo getRealIp();
Copier après la connexion

//Méthode 4 :

if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
  $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
  $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
  $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
  $ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
  $ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
  $ip = getenv("REMOTE_ADDR");
}
else
{
  $ip = "Unknown";
}
echo $ip ;
Copier après la connexion

//Méthode 5 :

if(getenv(&#39;HTTP_CLIENT_IP&#39;)) {
  $onlineip = getenv(&#39;HTTP_CLIENT_IP&#39;);
} elseif(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;)) {
  $onlineip = getenv(&#39;HTTP_X_FORWARDED_FOR&#39;);
} elseif(getenv(&#39;REMOTE_ADDR&#39;)) {
  $onlineip = getenv(&#39;REMOTE_ADDR&#39;);
} else {
  $onlineip = $HTTP_SERVER_VARS[&#39;REMOTE_ADDR&#39;];
}
echo $onlineip;
Copier après la connexion

/ /Méthode 6 :

print "您的IP地址是:";
 
 
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
 $cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
 $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
 $cip = $_SERVER["REMOTE_ADDR"];
}
else{
 $cip = "无法获取!";
}
print $cip;
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal