Maison >développement back-end >tutoriel php >PHP obtient les informations du client

PHP obtient les informations du client

jacklove
jackloveoriginal
2018-06-11 23:30:428079parcourir

Adresse de test :

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

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

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

Remarque : la construction locale nécessite des données Mysql, et deux dossiers

Les deux dossiers sont placés au même endroit que le code

Nom du fichier et du dossier sous le répertoire de niveau : ./image/chuyin.png (Hatsune Miku)

:./css/tpzdsf.css (mise à l'échelle automatique de l'image)

Fichier tpzdsf Code .css :

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

Obtenir le contenu

1. Adresse IP

2. Adresse physique

3. 🎜>Outils de développement : centos 6.5, VIM, mysql, navigateur, téléphone mobile

Code : get.php Obtenez des informations pertinentes, insérez-les dans la base de données

Fichier 2, ipresult. Afficher les informations obtenues, sélectionner l'affichage de la table de base de données
<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=&#39;&#39;;
    if(getenv(&#39;HTTP_CLIENT_IP&#39;)&&strcasecmp(getenv(&#39;HTTP_CLIENT_IP&#39;),&#39;unknown&#39;)){
        $onlineip=getenv(&#39;HTTP_CLIENT_IP&#39;);
    } elseif(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;)&&strcasecmp(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;),&#39;unknown&#39;)){
        $onlineip=getenv(&#39;HTTP_X_FORWARDED_FOR&#39;);
    } elseif(getenv(&#39;REMOTE_ADDR&#39;)&&strcasecmp(getenv(&#39;REMOTE_ADDR&#39;),&#39;unknown&#39;)){
        $onlineip=getenv(&#39;REMOTE_ADDR&#39;);
    } elseif(isset($_SERVER[&#39;REMOTE_ADDR&#39;])&&$_SERVER[&#39;REMOTE_ADDR&#39;]&&strcasecmp($_SERVER[&#39;REMOTE_ADDR&#39;],&#39;unknown&#39;)){
        $onlineip=$_SERVER[&#39;REMOTE_ADDR&#39;];
    }
    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[&#39;data&#39;];
    return $data[&#39;country&#39;].$data[&#39;region&#39;].$data[&#39;city&#39;].$data[&#39;isp&#39;].$data[&#39;country_id&#39;];
   }
$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 (&#39;1&#39;,&#39;$ipa&#39;,&#39;$ipaddr&#39;,&#39;$bro&#39;,&#39;$sys&#39;,&#39;$getnet&#39;);";
mysql_select_db("my_db");
mysql_query(&#39;SET NAMES UTF8&#39;);
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>

Fichier 3 Obtenir les informations de l'agent Ce fichier contient de nombreuses sources de code qui constituent des violations du réseau. Veuillez supprimer
<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(&#39;SET NAMES UTF8&#39;);
    $sql = "select * from ips order by id desc;";
    $query = mysql_query($sql,$con);
    while($row = mysql_fetch_array($query)){
?>
    <tr>
        <td><?php echo $row[&#39;id&#39;]; ?></td>
        <td><?php echo $row[&#39;ip&#39;]; ?></td>
        <td><?php echo $row[&#39;addr&#39;]; ?></td>
        <td><?php echo $row[&#39;browse&#39;]; ?></td>
        <td><?php echo $row[&#39;sysversion&#39;]; ?></td>
        <td><?php echo $row[&#39;nettype&#39;]; ?></td>
    </tr>
<?php
   }
?>
</table>
</html>

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

Cet article explique comment PHP obtient les informations client. Pour plus de contenu connexe, veuillez prêter attention au site Web chinois de PHP.
CREATE TABLE `ips` (
  `id` int(6) NOT NULL AUTO_INCREMENT COMMENT &#39;自动增长&#39;,
  `uid` int(6) DEFAULT NULL COMMENT &#39;查询者ID&#39;,
  `ip` char(15) NOT NULL COMMENT &#39;IP地址&#39;,
  `addr` varchar(150) DEFAULT NULL COMMENT &#39;实际地址&#39;,
  `browse` varchar(20) DEFAULT NULL COMMENT &#39;浏览器类型&#39;,
  `sysversion` varchar(20) DEFAULT NULL COMMENT &#39;操作系统版本&#39;,
  `nettype` char(10) DEFAULT NULL COMMENT &#39;网络类型:WIFI,4G,3G,2G&#39;,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;

Recommandations associées :

php modifier les informations de l'utilisateur


php supprimer l'utilisateur


Notes d'étude MYSQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Traitement du temps PHPArticle suivant:Traitement du temps PHP