首页 > 编程 > PHP > 正文

PHP获取客户端信息

2020-03-22 17:40:57
字体:
来源:转载
供稿:网友
测试地址:

http://www.huaxialijian.com/get.php

http://www.huaxialijian.com/ipresult.php

http://www.huaxialijian.com/browse.php

备注:本地搭建需要弄个Mysql的数据,还有两个文件夹

两个文件夹放在代码同级目录下

文件及文件夹名称:./image/chuyin.png (初音未来)

:./css/tpzdsf.css (图片自动缩放)

文件tpzdsf.css代码:

body { text-align:left;background:#f8f8f8;}.scale img{background-size:contain|cover;width:100%;height: auto;}

获取内容

1、IP地址

2、物理地址

3、Agent相关信息

开发工具:centos 6.5,VIM,mysql,浏览器,手机

代码:get.php 获取相关信息,插入数据库

 html  title |初音未来の| /title  ?phpinclude_once ( db_mysql.php include_once ( browse.php header( content-type:text/html;charset=utf-8  $ipa = getip(); $ipaddr = realmac($ipa);// echo $ipa. - .$ipaddr. /n function getip(){ $onlineip=  if(getenv( HTTP_CLIENT_IP ) strcasecmp(getenv( HTTP_CLIENT_IP ), unknown )){ $onlineip=getenv( HTTP_CLIENT_IP  } elseif(getenv( HTTP_X_FORWARDED_FOR ) strcasecmp(getenv( HTTP_X_FORWARDED_FOR ), unknown )){ $onlineip=getenv( HTTP_X_FORWARDED_FOR  } elseif(getenv( REMOTE_ADDR ) strcasecmp(getenv( REMOTE_ADDR ), unknown )){ $onlineip=getenv( REMOTE_ADDR  } elseif(isset($_SERVER[ REMOTE_ADDR ]) $_SERVER[ REMOTE_ADDR ] strcasecmp($_SERVER[ REMOTE_ADDR ], unknown )){ $onlineip=$_SERVER[ REMOTE_ADDR  return $onlineip; function realmac($ipaddr) $ip = @file_get_contents( http://ip.taobao.com/service/getIpInfo.php?ip= .$ipaddr); $ip = json_decode($ip,true); $data = $ip[ data  return $data[ country ].$data[ region ].$data[ city ].$data[ isp ].$data[ country_id $bro = determinebrowser($Agent);$sys = determineplatform($Agent);$getnet = getnettype($Agent);//var_dump($bro);//var_dump($sys);//exit;$sql = INSERT INTO ips (uid,ip,addr,browse,sysversion,nettype) VALUES ( 1 , $ipa , $ipaddr , $bro , $sys , $getnet mysql_select_db( my_db mysql_query( SET NAMES UTF8 if(!mysql_query($sql,$con)) echo mysql_error(); }else//隐藏提示吧// echo 系统提示: .$ipa. - .$ipaddr. 已经记录!  head  link rel= stylesheet type= text/css href= ./css/tpzdsf.css  body  p >

文件2,ipresult.php 查看获取到的信息 select数据库 table展示

 html  meta http-equiv= Content-Type content= text/html; charset=UTF-8  title 查询IP结果 /title  head  style type= text/css  /style  /head  table  td b [id] /b /td  td b [ip地址] /td  td b [实际地址] /b /td  td b [浏览器] /b /td  td b [操作系统] /b /td  td b [网络类型] /b /td  /tr  ?phpheader( content-type:text/html;charset=utf-8  include_once ( db_mysql.php  mysql_select_db( my_db ,$con); mysql_query( SET NAMES UTF8  $sql = select * from ips order by id desc;  $query = mysql_query($sql,$con); while($row = mysql_fetch_array($query)){ td ?php echo $row[ id ? /td  td ?php echo $row[ ip ? /td  td ?php echo $row[ addr ? /td  td ?php echo $row[ browse ? /td  td ?php echo $row[ sysversion ? /td  td ?php echo $row[ nettype ? /td  /tr  ?php /table  /html 

文件3 获取Agent信息 这个文件有很多代码来源是网络 侵权告知删除

 ?phpheader( content-type:text/html;charset=utf-8 $Agent = $_SERVER[ HTTP_USER_AGENT //echo $Agent. br //显示访问用户的浏览器信息//echo 浏览器: . determinebrowser($Agent) . br //显示访问用户的操作系统平台//echo 系统版本: . determineplatform($Agent). br //显示移动设备联网方式//echo 网络: .getnettype($Agent). br //正值表达式比对解析$_SERVER[ HTTP_USER_AGENT ]中的字符串 获取访问用户的浏览器的信息function determinebrowser ($Agent) {$browseragent= //浏览器$browserversion= //浏览器的版本if (ereg( MSIE ([0-9].[0-9]{1,2}) ,$Agent,$version)) { $browserversion=$version[1]; $browseragent= Internet Explorer } else if (ereg( Opera/([0-9]{1,2}.[0-9]{1,2}) ,$Agent,$version)) { $browserversion=$version[1]; $browseragent= Opera } else if (ereg( Firefox/([0-9.]{1,5}) ,$Agent,$version)) { $browserversion=$version[1]; $browseragent= Firefox }else if (ereg( Chrome/([0-9.]{1,2}) ,$Agent,$version)) { $browserversion=$version[1]; $browseragent= Chrome else if (ereg( QQ/([0-9.]{1,3}) ,$Agent,$version)) { $browserversion=$version[1]; $browseragent= QQ else if (ereg( Safari/([0-9.]{1,3}) ,$Agent,$version)) { $browseragent= Safari  $browserversion= else {$browserversion= $browseragent= other return $browseragent.$browserversion;// 同理获取访问用户的浏览器的信息function determineplatform ($Agent) {$browserplatform== if (eregi( win ,$Agent) strpos($Agent, 95 )) {$browserplatform= Windows 95 elseif (eregi( win 9x ,$Agent) strpos($Agent, 4.90 )) {$browserplatform= Windows ME elseif (eregi( win ,$Agent) ereg( 98 ,$Agent)) {$browserplatform= Windows 98 elseif (eregi( win ,$Agent) eregi( nt 5.0 ,$Agent)) {$browserplatform= Windows 2000 elseif (eregi( win ,$Agent) eregi( nt 5.1 ,$Agent)) {$browserplatform= Windows XP elseif (eregi( win ,$Agent) eregi( nt 6.0 ,$Agent)) {$browserplatform= Windows Vista elseif (eregi( win ,$Agent) eregi( nt 6.1 ,$Agent)) {$browserplatform= Windows 7 elseif (eregi( win ,$Agent) ereg( 32 ,$Agent)) {$browserplatform= Windows 32 elseif (eregi( win ,$Agent) eregi( nt ,$Agent)) {$browserplatform= Windows NT }elseif (eregi( Mobile ,$Agent) eregi( iphone ,$Agent)) {$browserplatform= iphone }elseif (eregi( Mobile ,$Agent) eregi( Android ,$Agent)) {$browserplatform= Android }elseif (eregi( Mac OS ,$Agent)) {$browserplatform= Mac OS elseif (eregi( linux ,$Agent)) {$browserplatform= Linux elseif (eregi( unix ,$Agent)) {$browserplatform= Unix elseif (eregi( sun ,$Agent) eregi( os ,$Agent)) {$browserplatform= SunOS elseif (eregi( ibm ,$Agent) eregi( os ,$Agent)) {$browserplatform= IBM OS/2 elseif (eregi( Mac ,$Agent) eregi( PC ,$Agent)) {$browserplatform= Macintosh elseif (eregi( PowerPC ,$Agent)) {$browserplatform= PowerPC elseif (eregi( AIX ,$Agent)) {$browserplatform= AIX elseif (eregi( HPUX ,$Agent)) {$browserplatform= HPUX elseif (eregi( NetBSD ,$Agent)) {$browserplatform= NetBSD elseif (eregi( BSD ,$Agent)) {$browserplatform= BSD elseif (ereg( OSF1 ,$Agent)) {$browserplatform= OSF1 elseif (ereg( IRIX ,$Agent)) {$browserplatform= IRIX elseif (eregi( FreeBSD ,$Agent)) {$browserplatform= FreeBSD if ($browserplatform== ) {$browserplatform = other }return $browserplatform; function getnettype ($Agent) $nettype =  if (ereg( NetType/WIFI ,$Agent)) { $nettype = WIFI  else if (ereg( NetType/4 ,$Agent)) { $nettype = 4G  else if (ereg( NetType/3 ,$Agent)) { $nettype = 3G  else if (eregi( NetType/2 ,$Agent)) { $nettype = 2G  else { $nettype = WEB  return $nettype; ? 

创建表结构

CREATE TABLE `ips` ( `id` int(6) NOT NULL AUTO_INCREMENT COMMENT 自动增长 , `uid` int(6) DEFAULT NULL COMMENT 查询者ID , `ip` char(15) NOT NULL COMMENT IP地址 , `addr` varchar(150) DEFAULT NULL COMMENT 实际地址 , `browse` varchar(20) DEFAULT NULL COMMENT 浏览器类型 , `sysversion` varchar(20) DEFAULT NULL COMMENT 操作系统版本 , `nettype` char(10) DEFAULT NULL COMMENT 网络类型:WIFI,4G,3G,2G , PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;

本文讲解了PHP获取客户端信息 ,更多相关内容请关注php 。

相关推荐:

php编辑用户信息

php删除用户

MYSQL的学习笔记

以上就是PHP获取客户端信息的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表