十一博客 十一博客

PHP获取访客IP的4种方法

in 默认类,技术控 read (4270) 文章转载请注明来源!

为了记录常用的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();
?>

本地测试:

TIM截图20170524205915.png

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
文章链接:https://blog.67cc.cn/archives/4-ways-to-get-visitors-ip-from-php.html (转载时请注明本文出处及文章链接)

代码记录
发表新评论
已有 8 条评论
  1. 王有之
    王有之 10Chrome 47
    回复

    你这个<此页面加载时间为>查询代码是多少,是否和wp是一样的?

    1. Marsin.
      Marsin.本文作者 MUC浏览器 11
      回复

      @王有之 什么查询代码?

      1. 王有之
        王有之Safari 5
        回复

        @Marsin. 此页加载时间 代码是和wp博客相同吗?我试了一下,无效!

        1. Marsin.
          Marsin.本文作者 MUC浏览器 11
          回复

          @王有之 那个代码是手动加的 不是wp里提取的

          1. 王有之
            王有之 XPChrome 11
            回复

            @Marsin. 是否和wp代码相同?我用wp那个代码加到里面,显示无效空白,能否分享一下这个代码

            1. Marsin.
              Marsin.本文作者 MUC浏览器 11
              回复

              @王有之 $mtime = explode(" ",microtime());//加入页面加载时间 by marisn
              $starttime = $mtime[1] + $mtime[

  2. repair manual
    repair manual 7Chrome 58
    回复

    This piece of writing will assist the internet users for creating new
    blog or even a weblog from start to end.

    1. Marsin.
      Marsin.本文作者 10Chrome 50
      回复

      @repair manual Thank you for your visit.

❋该站点已苟活
© 2017-2018 十一博客 蜀ICP备15021123号-1
又拍云
PREVIOUS NEXT
雷姆
拉姆