php 获取客户端的ip、地理信息、浏览器信息、本地真实ip
1 <?php 2 // 作用取得客户端的ip、地理信息、浏览器、本地真实IP 3 class get_gust_info { 4 5 ////获得访客浏览器类型 6 function GetBrowser(){ 7 if(!empty($_SERVER['HTTP_USER_AGENT'])){ 8 $br = $_SERVER['HTTP_USER_AGENT']; 9 if (preg_match('/MSIE/i',$br)) { 10 $br = 'MSIE'; 11 }elseif (preg_match('/Firefox/i',$br)) { 12 $br = 'Firefox'; 13 }elseif (preg_match('/Chrome/i',$br)) { 14 $br = 'Chrome'; 15 }elseif (preg_match('/Safari/i',$br)) { 16 $br = 'Safari'; 17 }elseif (preg_match('/Opera/i',$br)) { 18 $br = 'Opera'; 19 }else { 20 $br = 'Other'; 21 } 22 return $br; 23 }else{return "获取浏览器信息失败!";} 24 } 25 26 ////获得访客浏览器语言 27 function GetLang(){ 28 if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ 29 $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; 30 $lang = substr($lang,0,5); 31 if(preg_match("/zh-cn/i",$lang)){ 32 $lang = "简体中文"; 33 }elseif(preg_match("/zh/i",$lang)){ 34 $lang = "繁体中文"; 35 }else{ 36 $lang = "English"; 37 } 38 return $lang; 39 40 }else{return "获取浏览器语言失败!";} 41 } 42 43 ////获取访客操作系统 44 function GetOs(){ 45 if(!empty($_SERVER['HTTP_USER_AGENT'])){ 46 $OS = $_SERVER['HTTP_USER_AGENT']; 47 if (preg_match('/win/i',$OS)) { 48 $OS = 'Windows'; 49 }elseif (preg_match('/mac/i',$OS)) { 50 $OS = 'MAC'; 51 }elseif (preg_match('/linux/i',$OS)) { 52 $OS = 'Linux'; 53 }elseif (preg_match('/unix/i',$OS)) { 54 $OS = 'Unix'; 55 }elseif (preg_match('/bsd/i',$OS)) { 56 $OS = 'BSD'; 57 }else { 58 $OS = 'Other'; 59 } 60 return $OS; 61 }else{return "获取访客操作系统信息失败!";} 62 } 63 64 ////获得访客真实ip 65 function Getip(){ 66 if(!empty($_SERVER["HTTP_CLIENT_IP"])){ 67 $ip = $_SERVER["HTTP_CLIENT_IP"]; 68 } 69 if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip 70 $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); 71 } 72 if($ip){ 73 $ips = array_unshift($ips,$ip); 74 } 75 76 $count = count($ips); 77 for($i=0;$i<$count;$i++){ 78 if(!preg_match("/^(10|172\.16|192\.168)\./i",$ips[$i])){//排除局域网ip 79 $ip = $ips[$i]; 80 break; 81 } 82 } 83 $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR']; 84 if($tip=="127.0.0.1"){ //获得本地真实IP 85 return $this->get_onlineip(); 86 }else{ 87 return $tip; 88 } 89 } 90 91 ////获得本地真实IP 92 function get_onlineip() { 93 $mip = file_get_contents("http://city.ip138.com/city0.asp"); 94 if($mip){ 95 preg_match("/\[.*\]/",$mip,$sip); 96 $p = array("/\[/","/\]/"); 97 return preg_replace($p,"",$sip[0]); 98 }else{return "获取本地IP失败!";} 99 } 100 101 ////根据ip获得访客所在地地名 102 function Getaddress($ip=''){ 103 if(empty($ip)){ 104 $ip = $this->Getip(); 105 } 106 $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//根据新浪api接口获取 107 if($ipadd){ 108 $charset = iconv("gbk","utf-8",$ipadd); 109 preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$charset,$ipadds); 110 111 return $ipadds; //返回一个二维数组 112 }else{return "addree is none";} 113 } 114 } 115 $gifo = new get_gust_info(); 116 echo "你的ip:".$gifo->Getip(); 117 echo "<br/>所在地:"; 118 $ipadds = $gifo->Getaddress(); 119 foreach($ipadds[0] as $value){ 120 echo "\r\n ".iconv("utf-8","gbk",$value); 121 } 122 123 echo "<br/>浏览器类型:".$gifo->GetBrowser(); 124 echo "<br/>浏览器语言:".$gifo->GetLang(); 125 echo "<br/>操作系统:".$gifo->GetOs(); 126 127 128 ?>
转载于:https://www.cnblogs.com/jatvsjat/articles/2688704.html
php 获取客户端的ip、地理信息、浏览器信息、本地真实ip相关推荐
- 关于同一局域网中,获取的IP非本地真实IP的问题。
关于同一局域网中,获取的IP非本地真实IP的问题. 目录结构 查看是否开启了电脑上的 "投屏" 功能 禁用除 "WLAN" 外的其他 "本地连接&qu ...
- 312个免费高速HTTP代理IP(能隐藏自己真实IP地址) - 杨尚川的个人页面 - 开源
原文地址为: 312个免费高速HTTP代理IP(能隐藏自己真实IP地址) - 杨尚川的个人页面 - 开源 124.88.67.20:843 190.36.223.93:8080 117.147.221 ...
- emlog评论ajax,emlog评论:获取评论用户操作系统与浏览器信息
1.打开include/model/comment_model.php文件 找到while ($row = $this->db->fetch_array($ret)) { (约第45行), ...
- 服务器如何隐藏真实IP地址?服务器隐藏真实IP的方法
服务器隐藏真实IP的方法 1.使用高防的盾机服务 2.使用CDN技术 3.使用域名导向 如今,网站服务器的安全受到越来越多的重视,但是难免会遇到黑客使用DDoS攻击网站,为了网站的安全通常都会做好防御 ...
- win10计算机ip如何更改,Win10本地连接ip怎么更改_Win10怎么更改ip地址?-192路由网...
问:Win10本地连接IP地址怎么更改? 本人是电脑小白,新买的电脑,是Win10系统:请问Win10电脑中的IP地址在哪里更改? 答:Win10系统IP地址需要在"本地连接"的 ...
- 获取用户的操作系统及浏览器信息
最近在开发中需要从request中获取操作系统,浏览器及浏览器版本信息.我们都知道通过request.getHeader("User-Agent")可以获取到.但是这样获取到的信息 ...
- .NET 获取客户端的操作系统版本、浏览器版本和IP地址
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...
- c# 获取客户端IP地址方法
客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVaria ...
- JavaWeb 获取客户端的真实IP地址
通常我们在JavaWeb中获取客户端IP地址只需要使用request.getRemoteAddr();方法即可 如果前端使用了Nginx等反向代理的话,我们使用request.getRemoteAdd ...
- PHP、Tomcat获取Nginx代理后的客户端真实IP
PHP.Tomcat获取Nginx代理后的客户端真实IP 文章目录 PHP.Tomcat获取Nginx代理后的客户端真实IP 一.PHP获取Nginx代理后客户端真实IP Nginx配置 PHP配置 ...
最新文章
- 同时起两个mysql 起不了_到底是谁!让你在冬天的早晨起不了床?
- 第十三周项目二-动物这样叫(2)
- BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)
- 上海市互联网数据中心建设导则(2019版)
- hihocoder-Week200-Shorteniring Sequence
- oracle分页包,Oracle分页获取数据的实现 (包和存储过程)
- 用反射简化 asp.net 报表的一点总结
- php用date语句获取时间,关于php date()函数获取时间的设置和使用方法
- (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序)
- android 盒子刷 下载,一加5刷机盒子
- Android系统开发(3)---如何分析ANR Log的总结
- Flink-org.apache.flink.streaming.api.watermark.Watermark
- JavaScript 设计模式学习第七篇- 单例模式
- udacity 学java_Udacity前端开发(入门)第一个月学习小结
- 定位点击WebBrowser、点击Flash、偷菜外挂
- STM32存储器知识的相关应用(IAP、Bit Banding)
- 洋钱罐借款「顶风作案」
- Linux下mplayer播放器安装及故障排除
- 2017cad光标大小怎么调_如何更改CAD光标大小及颜色?
- 小猪的Python学习之旅 —— 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中
热门文章
- 到底工资要多少合适?
- netty与socket对比_Netty之WebSocket和四种IO介绍
- VS2008环境下编译使用SGI STL(using stlport 5.2.1)
- 'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 【luogu T34117 打油门】 题解
- [转载]未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。
- 写给对前途迷茫的朋友:五句话定会改变你的人生
- iOS .xib文件 添加点击事件 及 点击不响应 注意点
- 那些年面过的坑,都在这里了~
- 035 spring amqp