首页 > php教程 > PHP源码 > 正文

php 获取客户端的ip地址程序代码

php中文网
发布: 2016-06-08 17:23:43
原创
1364人浏览过

获取客户端IP地址我们最简单的办法就是直接使用REMOTE_ADDR但这种如果有代理IP就无法获取了,所以我们要使用HTTP_X_FORWARDED_FOR来获取,下面我来给大家介绍一个获取IP地址函数

<script>ec(2);</script>

最简单的做法

 代码如下 复制代码


function getRealIpAddr()
{
  if (!emptyempty($_SERVER['HTTP_CLIENT_IP']))
  {
    $ip=$_SERVER['HTTP_CLIENT_IP'];
  }
  elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
  //to check ip is pass from proxy
  {
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  }
  else
  {
    $ip=$_SERVER['REMOTE_ADDR'];
  }
  return $ip;
}


这个我自己写的

 

 代码如下 复制代码
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  $onlineip = getenv('HTTP_CLIENT_IP');
 } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  $onlineip = getenv('HTTP_X_FORWARDED_FOR');
 } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  $onlineip = getenv('REMOTE_ADDR');
 } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  $onlineip = $_SERVER['REMOTE_ADDR'];
 }
echo $onlineip;
?>

但感觉不怎么样,后来百度找到了一个

精美淘宝客单页面 zblog模板
精美淘宝客单页面 zblog模板

采用zblog修改的模板,简单方便,直接解压上传到空间即可使用,页面简单,适合SEO,导航,次导航,最新文章列表,随机文章列表全部都有,网站采用扁平结构,非常适用淘宝客类小站,所有文章都在根目录下。所有需要修改的地方在网页上各个地方都有标注说明,一切在网站后台都可以修改,无须修改任何程序代码,是新手的不二选择。后台登陆地址: 域名/login.asp用户名:admin (建议不要修改)密码:adm

精美淘宝客单页面 zblog模板 1
查看详情 精美淘宝客单页面 zblog模板

实例

 代码如下 复制代码

function real_ip() {
 static $realip = NULL;

 if ($realip !== NULL)  {
  return $realip;
 }

 if (isset($_SERVER)) {
  if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
   $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

   /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
   foreach ($arr AS $ip) {
    $ip = trim($ip);

    if ($ip != 'unknown') {
     $realip = $ip;
     break;
    }
   }
  } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
   $realip = $_SERVER['HTTP_CLIENT_IP'];
  } else {
   if (isset($_SERVER['REMOTE_ADDR'])) {
    $realip = $_SERVER['REMOTE_ADDR'];
   } else {
    $realip = '0.0.0.0';
   }
  }
 } else {
  if (getenv('HTTP_X_FORWARDED_FOR')) {
   $realip = getenv('HTTP_X_FORWARDED_FOR');
  } elseif (getenv('HTTP_CLIENT_IP')) {
   $realip = getenv('HTTP_CLIENT_IP');
  } else {
   $realip = getenv('REMOTE_ADDR');
  }
 }

 preg_match("/[d.]{7,15}/", $realip, $onlineip);
 $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';

 return $realip;
}

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号