Home >Backend Development >PHP Tutorial >Detailed explanation of several methods of obtaining user access IP address in PHP

Detailed explanation of several methods of obtaining user access IP address in PHP

墨辰丷
墨辰丷Original
2018-06-02 11:06:153359browse

This article mainly introduces in detail the 5 methods for PHP to obtain user access IP addresses. Interested friends can refer to it

The specific content is as follows

<?php                                                                 //方法1:
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
 
//方法2:
$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;
 
//方法3:
function getRealIp()
{
  $ip=false;
  if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
  }
  if (!empty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;])) {
    $ips = explode (", ", $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;]);
    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();
 
//方法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 ;
 
//方法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;

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

PHP half-search algorithm example analysis

Detailed explanation of examples returned by PHP implementation function reference

PHP introductory tutorial image processing skills example sharing

The above is the detailed content of Detailed explanation of several methods of obtaining user access IP address in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn