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项目应该注意的几点事项分享
Dec 20 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
给ECShop添加最新评论
Jan 07 PHP
PHP答题类应用接口实例
Feb 09 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
PHP概率计算函数汇总
Sep 13 PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
PDO实现学生管理系统
Mar 21 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
解析PHP提交后跳转
2013/06/23 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
js+css实现打字效果
2020/06/24 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
centos下更新Python版本的步骤
2013/02/12 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
迎新春趣味活动方案
2014/08/24 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
2014年党务工作总结
2014/11/25 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书