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学习 计数器实例代码
Jun 15 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
PHP 执行系统外部命令 system() exec() passthru()
Aug 11 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
mac环境中使用brew安装php5.5.15
Aug 18 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
如何在PHP中生成随机数
Jun 04 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实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
JS中Location使用详解
2015/05/12 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
用python做游戏的细节详解
2019/06/25 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
墨西哥网上超市:Superama
2018/07/10 全球购物
经济管理毕业生求职信
2014/03/15 职场文书
大学生自我鉴定书
2014/03/24 职场文书
法制宣传标语集锦
2014/06/25 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
Oracle使用别名的好处
2022/04/19 Oracle