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制作静态网站的模板框架
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
php&amp;java(一)
Oct 09 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
php获取当月最后一天函数分享
Feb 02 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
PHP递归实现层级树状展开
Apr 01 PHP
php批量删除操作(数据访问)
May 23 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
php装饰者模式简单应用案例分析
Oct 23 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
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
如何使用php实现评委评分器
2015/07/31 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
python二分法实现实例
2013/11/21 Python
使用python生成目录树
2018/03/29 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
为什么说python适合写爬虫
2020/06/11 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
商场中秋节广播稿
2014/01/17 职场文书
考试违纪检讨书
2014/02/02 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
八年级英语教学计划
2015/01/23 职场文书
绵山导游词
2015/02/05 职场文书
招商银行工作证明
2015/06/17 职场文书
运动会开幕式致辞
2015/07/29 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS