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 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
PHP执行linux系统命令的常用函数使用说明
Apr 27 PHP
PHP安全配置详细说明
Sep 26 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
php表单提交实例讲解
Nov 12 PHP
PHP链表操作简单示例
Oct 15 PHP
cakephp常见知识点汇总
Feb 24 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
Oct 17 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
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
jquery 最简单的属性菜单
2009/10/08 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
机电一体化毕业生求职信
2013/11/02 职场文书
同学聚会策划方案
2014/06/06 职场文书
学校清明节活动总结
2014/07/04 职场文书
工伤事故证明
2014/10/20 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
浅析MongoDB之安全认证
2021/06/26 MongoDB
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸