PHP 获取客户端真实IP地址多种方法小结


Posted in PHP onMay 15, 2010

经过复杂的判断与算是的获取IP地址函数

function getIP() { 
if (getenv('HTTP_CLIENT_IP')) { 
$ip = getenv('HTTP_CLIENT_IP'); 
} 
elseif (getenv('HTTP_X_FORWARDED_FOR')) { 
$ip = getenv('HTTP_X_FORWARDED_FOR'); 
} 
elseif (getenv('HTTP_X_FORWARDED')) { 
$ip = getenv('HTTP_X_FORWARDED'); 
} 
elseif (getenv('HTTP_FORWARDED_FOR')) { 
$ip = getenv('HTTP_FORWARDED_FOR'); } 
elseif (getenv('HTTP_FORWARDED')) { 
$ip = getenv('HTTP_FORWARDED'); 
} 
else { 
$ip = $_SERVER['REMOTE_ADDR']; 
} 
return $ip; 
}

最简单获取ip地址代码一句实例
$reIP=$_SERVER["REMOTE_ADDR"]; 
echo $reIP;

php获取ip的算法
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;

可以分出内网与外网站ip地址获取程序
function getip_out(){ 
$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 getip_out();

php获取ip的算法,用了?号表达式来处理
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; 
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

php下获取客户端ip地址的函数
php 获取客户端的真实ip
PHP 相关文章推荐
生成缩略图
Oct 09 PHP
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
php Static关键字实用方法
Jun 04 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
php事务处理实例详解
Jul 11 PHP
PHP队列用法实例
Nov 05 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
Jun 30 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
Laravel 创建指定表 migrate的例子
Oct 09 PHP
PHP生成UTF8文件的方法
May 15 #PHP
PHP 魔术函数使用说明
May 14 #PHP
PHP 事务处理数据实现代码
May 13 #PHP
php 常用类汇总 推荐收藏
May 13 #PHP
php echo 输出字符串函数详解
May 13 #PHP
php 图片加水印与上传图片加水印php类
May 12 #PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 #PHP
You might like
加速XP搜索功能堪比vista
2007/03/22 PHP
php统计文章排行示例
2014/03/04 PHP
php实现源代码加密的方法
2015/07/11 PHP
php给图片加文字水印
2015/07/31 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
python 的topk算法实例
2020/04/02 Python
Selenium 安装和简单使用的实现
2020/12/04 Python
阿里云:Aliyun.com
2017/02/15 全球购物
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
中华魂放飞梦想演讲稿
2014/08/26 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2014年司法所工作总结
2014/11/22 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
基于python实现银行管理系统
2021/04/20 Python
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle