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入门的学习方法
Jan 02 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
Aug 28 PHP
php中chdir()函数用法实例
Nov 13 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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/08/21 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python批处理更改文件名os.rename的方法
2018/10/26 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
使用Python实现画一个中国地图
2019/11/23 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
linux面试题参考答案(5)
2016/11/05 面试题
办公室文员工作自我评价
2013/12/01 职场文书
服务之星获奖感言
2014/01/21 职场文书
小学生环保倡议书
2014/05/15 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
设备收款委托书范本
2014/10/02 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers