PHP获取客户端信息

jacklove
发布: 2018-06-11 23:30:42
原创
8351人浏览过

测试地址:

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>
<?php
include_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 class="scale">
@@##@@
</p>
</body>
</head>
</html>
登录后复制

文件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>
    <tr>
        <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>
  
<?php
header("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)){
?>
    <tr>
        <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信息 这个文件有很多代码来源是网络 侵权告知删除

<?php
header("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获取客户端信息

以上就是PHP获取客户端信息的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号