thinkphp如何获取客户端IP
thinkphp框架中系统内置了get_client_ip方法用于获取客户端的IP地址,使用示例:
$ip = get_client_ip();
除了thinkphp内置get_client_ip函数外,也可使用下面函数获取客户端IP地址。
$type表示返回类型 0 返回IP地址, 1 返回IPV4地址数字
分享代码如下
function get_client_ip($type = 0) { $type = $type ? 1 : 0; static $ip = NULL; if ($ip !== NULL) return $ip[$type]; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $pos = array_search('unknown',$arr); if(false !== $pos) unset($arr[$pos]); $ip = trim($arr[0]); }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; }elseif (isset($_SERVER['REMOTE_ADDR'])) { $ip = $_SERVER['REMOTE_ADDR']; } // IP地址合法验证 $long = ip2long($ip); $ip = $long ? array($ip, $long) : array('0.0.0.0', 0); return $ip[$type];
希望本文对大家深入学习php程序设计有所帮助。
相关推荐
-
PHP获取客户端真实IP地址的5种情况分析和实现代码
在PHP获取客户端IP中常使用 $_SERVER["REMOTE_ADDR"] . (1) 但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取. (2) 但只有客户端使用"透明代理"的情况下,$_SERVER["HTTP_X_FORWARDED_FOR&q
-
PHP获取真实客户端的真实IP
REMOTE_ADDR 是你的客户端跟你的服务器"握手"时候的IP.如果使用了"匿名代理",REMOTE_ADDR将显示代理服务器的IP. HTTP_CLIENT_IP 是代理服务器发送的HTTP头.如果是"超级匿名代理",则返回none值.同样,REMOTE_ADDR也会被替换为这个代理服务器的IP. $_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的)IP $_SERVER['HTTP_CLIENT_I
-
PHP获取客户端及服务器端IP的封装类
本文实例讲述了PHP获取客户端及服务器端IP的封装类.分享给大家供大家参考,具体如下: 客户端IP相关的变量: 1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP. 2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造. 3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造. 服务器端IP相关的变量: 1. $_SERVER["SE
-
PHP 获取客户端真实IP地址多种方法小结
经过复杂的判断与算是的获取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('
-
THinkPHP获取客户端IP与IP地址查询的方法
本文实例讲述了THinkPHP获取客户端IP与IP地址查询的方法.分享给大家供大家参考,具体如下: TP 中获取客户端IP地址的系统公共函数是:function get_client_ip().返回值就是IP地址. 查询IP地址所在国家与地区的类文件是IpLocation.class.php,位于ThinkPHP\Lib\ORG\Net目录下.类名是IpLocation,方法是 public function getlocation($ip=''); 省略时查询客户端IP所在地址.返回的是一个数
-
php中获取远程客户端的真实ip地址的方法
(1).REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 (2).HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关 (3).HTTP_CLIENT_IP:客户端的ip 在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["
-
php下获取客户端ip地址的函数
复制代码 代码如下: function getip() { $IP=getenv('REMOTE_ADDR'); $IP_ = getenv('HTTP_X_FORWARDED_FOR'); if (($IP_ != "") && ($IP_ != "unknown")) $IP=$IP_; return $IP; } 下面这个比较好的 复制代码 代码如下: function getIP() { if (isset($_SERVER)) { if (
-
php 获取客户端的真实ip
复制代码 代码如下: function GetIP(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strc
-
PHP实现获取客户端IP并获取IP信息
代码很简洁,功能很实用,这里就不多废话了,直接奉上: 复制代码 代码如下: <?php /** * 获取客户端IP * @param integer $type 返回类型 0:string,1:long * @return string|long */ function getClientIp($type = 0) { $ip = NULL; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = ex
-
PHP 显示客户端IP与服务器IP的代码
来看看代码: 复制代码 代码如下: echo "(1)浏览当前页面的用户的 IP 地址为:"; echo $_SERVER['REMOTE_ADDR']; echo "<br />"; echo "(2)浏览当前页面的用户的 IP 地址为:"; echo getenv('REMOTE_ADDR'); echo "<br />"; echo "主机 www.baidu.com 的 IP 地址为:
随机推荐
- JQuery AJAX参数详解补充附示例
- html的基本使用(HTML标签解释)
- Vue.JS入门教程之处理表单
- 堆排序算法的讲解及Java版实现
- python实现发送和获取手机短信验证码
- asp.net Repeater绑定时使用函数
- JS操作时间 - UNIX时间戳的简单介绍(必看篇)
- C#中遍历各类数据集合的方法总结
- c# 可变数目参数params实例
- ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
- Android之Intent附加数据的两种实现方法
- Ionic2开发环境搭建教程
- Python Tkinter简单布局实例教程
- javascript禁用键盘功能键让右击及其他键无效
- Pclxav木马猎手第一代特征码引擎源代码
- 花生壳与Windows2003 建立FTP服务器的图文教程
- Android Studio获取SHA1值实例详解
- 在ASP.NET 2.0中操作数据之五十二:使用FileUpload上传文件
- C#自定义事件之属性改变引发事件示例
- thinkPHP5.0框架自动加载机制分析