PHP擷取用戶端資訊

來源:互聯網
上載者:User
測試地址:

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 class="scale"><img src="./image/chuyin.png"></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>  <?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)){?>    <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資訊 這個檔案有很多代碼來源是網路 侵權告知刪除

<?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中文網。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.