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 相关文章推荐
模仿OSO的论坛(四)
Oct 09 PHP
请php正则走开
Mar 15 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
PHP 第二节 数据类型之转换
Apr 28 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
PHP速成大法
Jan 30 PHP
php面向对象中static静态属性与方法的内存位置分析
Feb 08 PHP
php eval函数一句话木马代码
May 21 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
php实现表单提交上传文件功能
May 28 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
简单的过滤字符串中的HTML标记
2006/12/25 PHP
php下载文件的代码示例
2012/06/29 PHP
PHP文件操作实例总结
2016/09/27 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
语义化 H1 标签
2008/01/14 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
使用python实现baidu hi自动登录的代码
2013/02/10 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
python制作websocket服务器实例分享
2016/11/20 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python统计字符的个数代码实例
2020/02/07 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
2014小学植树节活动总结
2014/03/10 职场文书
中学生演讲稿
2014/04/26 职场文书
教师求职信
2014/06/17 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers