thinkphp如何获取客户端IP_php技巧

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程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索thinkphp获取ip地址
, thinkphp获取域名
, thinkphp客户端ip
thinkphp获取当前ip
thinkphp获取客户端ip、thinkphp 客户端ip、thinkphp 获取ip、thinkphp ip获取城市、thinkphp5 获取ip,以便于您获取更多的相关知识。

时间: 2024-10-01 09:26:07

thinkphp如何获取客户端IP_php技巧的相关文章

THinkPHP获取客户端IP与IP地址查询的方法_php实例

本文实例讲述了THinkPHP获取客户端IP与IP地址查询的方法.分享给大家供大家参考,具体如下: TP 中获取客户端IP地址的系统公共函数是:function get_client_ip().返回值就是IP地址. 查询IP地址所在国家与地区的类文件是IpLocation.class.php,位于ThinkPHP\Lib\ORG\Net目录下.类名是IpLocation,方法是 public function getlocation($ip=''); 省略时查询客户端IP所在地址.返回的是一个数

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所在地址.返回的是一个数

技巧:ASP中用Request对象获取客户端数据

request|对象|技巧|客户端|数据 在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了. 虽然如此,还是经常有人问我下面的几种写法有什么不同,到底应该怎么写? strMessage = Request("msg") strMessage = Request.Form("msg") 而且,我也看过好多人写的代码,一律都是Request("")的写法,当然这样的写法并没有什么错. 只是大家应该注意 Req

js获取客户端操作系统类型的方法【测试可用】_javascript技巧

本文实例讲述了js获取客户端操作系统类型的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

PHP获取客户端及服务器端IP的封装类_php技巧

本文实例讲述了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

JS简单获取客户端IP地址的方法【调用搜狐接口】_javascript技巧

本文实例讲述了JS简单获取客户端IP地址的方法.分享给大家供大家参考,具体如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>使用搜狐接口获取客户端IP地址</title> </head> <body> <script src="http://pv.sohu.com/cityjson?ie=utf-8

JavaScript获取客户端IP的方法(新方法)_javascript技巧

很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: <script type="text/javascript" src="http://fw.qq.com/ipaddress"></script> 它可以返回用户IP和地点,比喻: var IPData = new Array("220.181.108.85","&q

获取客户端网卡MAC地址和IP地址实现JS代码_javascript技巧

在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证.要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好. 具体实现的html和javascript如下: 复制代码 代码如下: <HT

PHP 获取客户端真实IP地址多种方法小结_php技巧

经过复杂的判断与算是的获取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('