PHP 获取ip地址代码汇总

前端技术 2023/08/08 PHP

代码一:

function getip() {
  static $ip = \'\';
  $ip = $_SERVER[\'REMOTE_ADDR\'];
  if(isset($_SERVER[\'HTTP_CDN_SRC_IP\'])) {
    $ip = $_SERVER[\'HTTP_CDN_SRC_IP\'];
  } elseif (isset($_SERVER[\'HTTP_CLIENT_IP\']) && preg_match(\'/^([0-9]{1,3}\\.){3}[0-9]{1,3}$/\', $_SERVER[\'HTTP_CLIENT_IP\'])) {
    $ip = $_SERVER[\'HTTP_CLIENT_IP\'];
  } elseif(isset($_SERVER[\'HTTP_X_FORWARDED_FOR\']) AND preg_match_all(\'#\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}#s\', $_SERVER[\'HTTP_X_FORWARDED_FOR\'], $matches)) {
    foreach ($matches[0] AS $xip) {
      if (!preg_match(\'#^(10|172\\.16|192\\.168)\\.#\', $xip)) {
        $ip = $xip;
        break;
      }
    }
  }
  return $ip;
}

代码二:

<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE);
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;
?>

方法三:

<?php
$iipp = $_SERVER[\"REMOTE_ADDR\"];
echo $iipp ;
?>

方法四:

<?php
$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
?>

方法五:

<?php
function get_real_ip()
{
$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[\'REMOTE_ADDR\']);
}
echo get_real_ip();
?>

方法六:

<?php
if(getenv(\'HTTP_CLIENT_IP\')){
$onlineip = getenv(\'HTTP_CLIENT_IP\');
}
elseif(getenv(\'HTTP_X_FORWARDED_FOR\')){
$onlineip = getenv(\'HTTP_X_FORWARDED_FOR\');
}
elseif(getenv(\'REMOTE_ADDR\')){
$onlineip = getenv(\'REMOTE_ADDR\');
}
else{
$onlineip = $HTTP_SERVER_VARS[\'REMOTE_ADDR\'];
}
echo $onlineip;
?>

本文地址:https://www.stayed.cn/item/524

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。