Heim >Backend-Entwicklung >PHP-Problem >So implementieren Sie die IP-Sammlung in PHP

So implementieren Sie die IP-Sammlung in PHP

藏色散人
藏色散人Original
2021-12-22 10:12:403543Durchsuche

So erhalten Sie IP in PHP: 1. Verwenden Sie „$_SERVER[“REMOTE_ADDR“]“, um 2. Verwenden Sie „($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR“]“, um 3. Verwenden Sie; getRealIp-Methode Get usw.

So implementieren Sie die IP-Sammlung in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, Dell G3-Computer.

Wie implementiert PHP die IP-Erfassung?

php erhält eine Zusammenfassung der Besucher-IP-Adressen

Manchmal müssen wir die tatsächliche IP-Adresse des Benutzers abrufen, zum Beispiel für Protokolldatensätze, Geolokalisierung, Benutzerinformationen oder Website-Datenanalyse usw. Tatsächlich ist es sehr einfach, die IP-Adresse zu erhalten, nur $_SERVER['REMOTE_ADDR'].

Jetzt fassen wir für Sie einige häufig verwendete Methoden zum Erhalten von IP-Adressen zusammen.

//Methode 1:

$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;

//Methode 2:

Der Code lautet wie folgt:

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

//Methode 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();

// Methode 5:

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 ;

/ /Methode 6:

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;

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die IP-Sammlung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn