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
php 无极分类(递归)实现代码
Jan 05 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
PHP将XML转数组过程详解
Nov 13 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
php 魔术常量详解及实例代码
Dec 04 PHP
PHP 7.4 新语法之箭头函数实例详解
May 09 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 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下安装配置fckeditor编辑器的方法
2011/03/02 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
javascript中的this详解
2014/12/08 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
从vue源码看props的用法
2019/01/09 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
python实现n个数中选出m个数的方法
2018/11/13 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
优秀护士获奖感言
2014/02/20 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android