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
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
PHP中使用数组指针函数操作数组示例
Nov 19 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
WAF的正确bypass
Jan 05 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
安装docker和docker-compose实例详解
Jul 30 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统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python查询sqlite数据表的方法
2015/05/08 Python
Python运算符重载用法实例
2015/05/28 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
深入理解Python 多线程
2020/06/16 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
总经理司机岗位职责
2014/02/06 职场文书
民政局个人整改措施
2014/09/24 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
创卫工作总结2015
2015/04/22 职场文书
交通事故责任认定书
2015/08/06 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
服务器SVN搭建图文安装过程
2022/06/21 Servers