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_Flame(Version:Progress)的原代码
Oct 09 PHP
PHP与javascript的两种交互方式
Oct 09 PHP
PHP4和PHP5共存于一系统
Nov 17 PHP
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP正则表达式函数preg_replace用法实例分析
Jun 04 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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序列号生成函数和字符串替换函数代码
2012/06/07 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
javascript基础知识讲解
2017/01/11 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
pycharm实现猜数游戏
2020/12/07 Python
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
优秀毕业生自我鉴定
2014/02/11 职场文书
个人银行贷款担保书
2014/04/01 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
授权委托书
2014/09/17 职场文书
六年级小学生评语
2014/12/26 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
如何利用React实现图片识别App
2022/02/18 Javascript
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers