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 JSON格式数据交互实例代码详解
Jan 13 PHP
分享PHP header函数使用教程
Sep 05 PHP
一个简单且很好用的php分页类
Oct 26 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
PHP使用观察者模式处理异常信息的方法详解
Sep 24 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
使用JS 清空File控件的路径值
2013/07/08 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
vuejs如何配置less
2017/04/25 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
wxPython 入门教程
2008/10/07 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python中扩展包的安装方法详解
2017/06/14 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
超简单使用Python换脸实例
2019/03/27 Python
python 串行执行和并行执行实例
2020/04/30 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
《搭石》教学反思
2014/04/07 职场文书
寄语学生的话
2014/04/10 职场文书
财务内勤岗位职责
2014/04/17 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
2015年测量员工作总结
2015/05/23 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL