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 相关文章推荐
php实现网站插件机制的方法
Nov 10 PHP
PHP函数常用用法小结
Feb 08 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
Yii配置文件用法详解
Dec 04 PHP
php静态文件生成类实例分析
Jan 03 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
php实现的RSS生成类实例
Apr 23 PHP
PHP设置进度条的方法
Jul 08 PHP
php中array_column函数简单实现方法
Jul 11 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 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
mysql 性能的检查和优化方法
2009/06/21 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
javascript事件模型介绍
2016/05/31 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
Python如何在DataFrame增加数值
2020/02/14 Python
python如何建立全零数组
2020/07/19 Python
python实现批处理文件
2020/07/28 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
中专生职业生涯规划书范文
2014/01/10 职场文书
加入学生会演讲稿
2014/04/24 职场文书
亚运会口号
2014/06/20 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
2014年党员整改措施
2014/10/24 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
环保建议书作文400字
2015/09/14 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书