强仔博客

PHP获取用户ip地址

本篇文章主要介绍PHP获取ip地址的方法,感兴趣的朋友参考下,我的是 [c=red]Typecho[/c] 博客系统,可以在 [c=red]functions.php[/c] 中添加方法,最后在想显示的位置调用 [c=red]<?php echo getip();?>[/c] 方法即可。

代码截图

代码食用

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

结语

感谢访问强仔博客,希望对大家有所帮助。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »