Loading
PHP获取访客IP的4种方法
轩灵博客 - 学习新技能,提升自我从这里开始

PHP获取访客IP的4种方法

轩灵
8年前发布 /正在检测是否收录...
温馨提示:
本文最后更新于2022年03月19日,已超过1090天没有更新,若内容或图片失效,请留言反馈。

为了记录常用的PHP代码,所以我会将有用的代码在博客做记录

以下代码在本地环境运行无报错,百度的部分有报错。

第1种

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

第2种

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

第3种

<?php
 function getIP()
{
static $realip;
if (isset($_SERVER)){
    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
        $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
        $realip = $_SERVER["HTTP_CLIENT_IP"];
    } else {
        $realip = $_SERVER["REMOTE_ADDR"];
    }
 } else {
    if (getenv("HTTP_X_FORWARDED_FOR")){
        $realip = getenv("HTTP_X_FORWARDED_FOR");
    } else if (getenv("HTTP_CLIENT_IP")) {
        $realip = getenv("HTTP_CLIENT_IP");
    } else {
        $realip = getenv("REMOTE_ADDR");
    }
 }
  return $realip;
 }
 echo getIP();
?>

第4种

<?php
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['REMOTE_ADDR']);
}
echo getRealIp();
?>

本文共 55 个字数,平均阅读时长 ≈ 1分钟
喜欢就支持一下吧
点赞 160 分享 赞赏
评论 抢沙发
取消 登录评论
SSL
下载海报