PHP 获取ip地址代码汇总


Posted in PHP onJuly 05, 2015

代码一:

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;
?>
PHP 相关文章推荐
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
php连接oracle数据库的核心步骤
May 26 PHP
微信红包随机生成算法php版
Jul 21 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
PHP中$_SERVER使用说明
Jul 05 #PHP
php实现短信发送代码
Jul 05 #PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 #PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 #PHP
Cygwin中安装PHP方法步骤
Jul 04 #PHP
php使用Session和文件统计在线人数
Jul 04 #PHP
使用XHGui来测试PHP性能的教程
Jul 03 #PHP
You might like
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
Python中logging实例讲解
2019/01/17 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
Python数据类型之List列表实例详解
2019/05/08 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
一些Solaris面试题
2013/03/22 面试题
师范大学应届生求职信
2013/11/21 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
活动总结报告格式
2014/05/09 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
2014年学习部工作总结
2014/11/12 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python
Python利用capstone实现反汇编
2022/04/06 Python