Information sur l'utilisateur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 354 fois - Téléchargée 17 fois

Contenu du snippet

Ce petit script combinant php, les fichiers de geoip et un peu de javascript a pour but de donner un maximum d'information sur l'utilisateur.
Ce code est une fois de plus tres loin d'etre parfait mais j'espere qu'il servira quand meme a certain d'entre vous ^.^ bonne journée!
Un exemple est disponible ici http://sephirothgeek.com/outils/localisation/ip.php

Source / Exemple :


<?php 
$systeme_information_menu = 1;
include("geoip.inc");
include("geoipcity.inc");
include("geoipregionvars.php");
echo "<div id='corps'>\n";
echo "<h1>Vos informations</h1>\n";
$date = strftime("%c",$_SERVER['REQUEST_TIME']); 
echo "<span class='souligne'>Vous vous etes connecté a cette page a ce moment</span>:<br>$date";
echo "<br>\n";
echo "<br>\n";
$ip =  $_SERVER['REMOTE_ADDR'];
echo "<span class='souligne'>IP:</span><br>$ip";
$handle = geoip_open("GeoIP.dat", GEOIP_STANDARD);
$ip2long = ip2long($ip);
$pays_code = geoip_country_code_by_addr($handle, $ip);
$pays_name = geoip_country_name_by_addr($handle, $ip);
$gi = geoip_open("GeoIPCity.dat",GEOIP_STANDARD);
$record = geoip_record_by_addr($gi,$ip);
$pays = $record->country_name;
$region = $record->region;
$region_2 = $GEOIP_REGION_NAME[$record->country_code][$record->region];
$ville = $record->city;
$latitude = $record->latitude;
$longitude = $record->longitude; 
echo "<br><br><span class='souligne'>Pays:</span><br>$pays";
echo "<br><br><span class='souligne'>Code region:</span><br>$region";
echo "<br><br><span class='souligne'>Region:</span><br>$region_2";
echo "<br><br><span class='souligne'>Ville:</span><br>$ville";
echo "<br><br><span class='souligne'>Longitude:</span><br>$longitude";
echo "<br><br><span class='souligne'>Latitude:</span><br>$latitude";
geoip_close($gi);
geoip_close($handle);
$giorg = geoip_open("GeoIPOrg.dat",GEOIP_STANDARD);
$org = geoip_org_by_addr($giorg,$ip);
echo "<br><br><span class='souligne'>Organisation regulant votre reseau:</span><br>$org";
geoip_close($giorg);
echo "<br>\n";
echo "<br>\n";
$origine = $_SERVER['HTTP_REFERER'];
if (!empty($origine)){
	echo "<span class='souligne'>Votre origine est:</span><br>$origine<br><br>\n";
}
$port = $_SERVER['REMOTE_PORT'];
echo "<span class='souligne'>Vous etes connecté via ce port:</span><br>$port";
echo "<br>\n";
echo "<br>\n";
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("#firefox/\d.\d#i",$user_agent, $trouver) == 1){
	$navigateur = $trouver[0];
	$navigateur = str_replace ( "/" , " " , $navigateur); 
}
if(preg_match("#version/\d.\d.\d safari#i",$user_agent, $trouver) == 1){
	$safari = 1;
	$navigateur = $trouver[0];
	$navigateur = str_replace ( "Safari" , "" , $navigateur); 
	$navigateur = str_replace ( "/" , " " , $navigateur); 
	$navigateur = str_replace ( "Version" , "Safari" , $navigateur); 
}
if(empty($safari)){
	if(preg_match("#version/\d.\d safari#i",$user_agent, $trouver) == 1){
		$safari = 1;
		$navigateur = $trouver[0];
		$navigateur = str_replace ( "Safari" , "" , $navigateur); 
		$navigateur = str_replace ( "/" , " " , $navigateur); 
		$navigateur = str_replace ( "Version" , "Safari" , $navigateur); 
	}
}
if(preg_match("#chrome/\d\d#i",$user_agent, $trouver) == 1){
	$chrome = 1;
	$navigateur = $trouver[0];
	$navigateur = str_replace ( "/" , " " , $navigateur); 
}
if($chrome != 1){
	if(preg_match("#chrome/\d#i",$user_agent, $trouver) == 1){
		$chrome = 1;
		$navigateur = $trouver[0];
		$navigateur = str_replace ( "/" , " " , $navigateur); 
	}
}
if(preg_match("#opera/\d.\d\d#i",$user_agent, $trouver) == 1){
	$opera = 1;
	$navigateur = $trouver[0];
	$navigateur = str_replace ( "/" , " " , $navigateur); 
}
if($opera != 1){
	if(preg_match("#opera/\d.\d#i",$user_agent, $trouver) == 1){
		$navigateur = $trouver[0];
		$navigateur = str_replace ( "/" , " " , $navigateur); 
	}
}
if(preg_match("#msie \d.\d#i",$user_agent, $trouver) == 1){
	$navigateur = $trouver[0];
	$navigateur = str_replace ( "MSIE" , "Internet explorer" , $navigateur); 
}
if(preg_match("#mspie \d.\d#i",$user_agent, $trouver) == 1){
	$navigateur = $trouver[0];
	$navigateur = str_replace ( "MSPIE" , "Internet explorer mobile" , $navigateur); 
}
if(preg_match("/linux i686/i",$user_agent) == 1){
	$systeme_exploitation = "Linux version 32 bits";
}
if(preg_match("/linux x86_64/i",$user_agent) == 1){
	$systeme_exploitation = "Linux version 64 bits";
}
if(preg_match("/freebsd i386/i",$user_agent) == 1){
	$systeme_exploitation = "FreeBSD version 32 bits";
}
if(preg_match("/freebsd x86_64/i",$user_agent) == 1){
	$systeme_exploitation = "FreeBSD version 64 bits";
}
if(preg_match("/Mac os x/i",$user_agent) == 1){
	$systeme_exploitation = "Mac OS X";
}
if(preg_match("/haiku bepc/i",$user_agent) == 1){
	$systeme_exploitation = "Haiku";
}
if(preg_match("/SunOS/i",$user_agent) == 1){
	$systeme_exploitation = "Open Solaris";
}
if(preg_match("/windows nt 5.1/i",$user_agent) == 1){
	$systeme_exploitation = "Windows XP";
	$windows = 1;
}
if(preg_match("/windows ce/i",$user_agent) == 1){
	$systeme_exploitation = "Windows mobile";
}
if(preg_match("#android \d.\d#i",$user_agent,$trouver) == 1){
	$systeme_exploitation = $trouver[0];
}
if(preg_match("/windows nt 6.0/i",$user_agent) == 1){
	$systeme_exploitation = "Windows Vista";
	$windows = 1;
}
if(preg_match("/windows nt 6.1/i",$user_agent) == 1){
	$systeme_exploitation = "Windows Seven";
	$windows = 1;
}
if(preg_match("/windows nt 5.2/i",$user_agent) == 1){
	$systeme_exploitation = "Windows Serveur 2003";
	$windows = 1;
}
if($windows == 1){
	if(preg_match("/WOW64/i",$user_agent) == 1){
		$version = "64 bits";
		$systeme_exploitation = "$systeme_exploitation $version";
	}
	elseif(preg_match("/win64; x64/i",$user_agent) == 1){
		$version = "64 bits, processeur AMD 64-bits";
		$systeme_exploitation = "$systeme_exploitation $version";
	}
	elseif(preg_match("/win64; IA64/i",$user_agent) == 1){
		$version = "64 bits, processeur Intel 64-bits";
		$systeme_exploitation = "$systeme_exploitation $version";
	}
}
if(empty($navigateur)){
	$navigateur = "Navigateur inconnu\n";
}
if(empty($systeme_exploitation)){
	$systeme_exploitation = "Systeme d'exploitation inconnu\n";
}
echo "<span class='souligne'>Votre navigateur:</span><br>$navigateur<br><br>\n";
echo "<span class='souligne'>Votre systeme d'exploitation:</span><br>$systeme_exploitation<br><br>\n";
echo "<span class='souligne'>Vos information sur votre navigateur internet et systeme d'explotation sont:</span><br>$user_agent\n";
echo "<br>\n";
echo "<br>\n";
$gethostbyaddr =  gethostbyaddr($ip);
$dyn = explode('.', $gethostbyaddr);
$nombre_de_points = substr_count($gethostbyaddr,'.');
$fai = $dyn[$nombre_de_points - 1];
$extension_domaine = $dyn[$nombre_de_points];
if($fai == "wanadoo"){
	$fai = "orange";
}
echo "<span class='souligne'>Information sur votre FAI: </span><br>$gethostbyaddr\n";
echo "<br><br><span class='souligne'>Votre FAI est: </span><br>$fai\n";
echo "<br><br><span class='souligne'>Url de votre fai: </span><br><a href='http://www.$fai.$extension_domaine'>http://www.$fai.$extension_domaine</a>\n";
?>
<br>
<br>
<script type="text/javascript">
function disableselect(e){
return false
}
function reEnable(){
return true
}
//if IE4+
document.onselectstart=new Function ("return false")
//if NS6
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}
<!--
function SymError()
{
  return true;
}
window.onerror = SymError;
var SymRealWinOpen = window.open;
function SymWinOpen(url, name, attributes)
{
  return (new Object());
}
window.open = SymWinOpen;
//-->

var tjs_img; 
var tjs_src="tjs.jpg";
//nom de l'image utilisé pour mesurer la vitesse de connection
var tjs_size=392363;
// taille exact de l'image en question
var tjs_delai=100; 
var tjs_nb=-1; 
var tjs_delai_max=20000; 
var timer1=0; var timer2=0;
var tjs_fin="";
function Checkkos() {
   tjs_img=new Image();
   timer1=new Date();
   timer1=timer1.getTime();
   tjs_img.src=tjs_src+"?dummy="+timer1;
   tjs_nb=0;
   document.countkos.info.value="Evaluation ";
   setTimeout("Timerkos()",tjs_delai);
}
function Timerkos() {
   var anim="-"
   tjs_nb++;
   document.countkos.info.value="Evaluation";
   if (tjs_nb*tjs_delai>=tjs_delai_max) { 
      tjs_fin=EvalConnexion(0);
      document.countkos.info.value=tjs_fin;
   } else {
      if (tjs_img.complete) {
         timer2=new Date(); timer2=timer2.getTime();
         tjs_fin=EvalConnexion(tjs_size/(timer2-timer1));
         document.countkos.info.value=tjs_fin;
      } else {
         setTimeout("Timerkos()",tjs_delai)
      }
   }
}
function EvalConnexion(kos) {
   tjs_nb=-1;
   res="";
   if (kos==0) {res="Connexion impossible";}
   kos=Math.round(kos*10)/10;
   return res+" " + kos +" ko/s";
}
</script>
<form name="countkos">
<input type="text" name="info" size="10">
<input type="button" value="Vitesse de connexion" onClick="Checkkos()">
<p>
(Cette valeur varie en fonction de l'activité de votre connection internet, si vous etes entrain de telecharger, la valeur sera faussé)
</p>
</form>
<br><br>
<script type="text/javascript">
<!--
var SymRealOnLoad;
var SymRealOnUnload;
function SymOnUnload()
{
  window.open = SymWinOpen;
  if(SymRealOnUnload != null)
     SymRealOnUnload();
}
function SymOnLoad()
{
  if(SymRealOnLoad != null)
     SymRealOnLoad();
  window.open = SymRealWinOpen;
  SymRealOnUnload = window.onunload;
  window.onunload = SymOnUnload;
}
SymRealOnLoad = window.onload;
window.onload = SymOnLoad;
//-->
</script>
<script type="text/javascript">
function localiser() {
	var myLatlng = new google.maps.LatLng(<?php echo $latitude;?>,<?php echo $longitude;?>);
	var myOptions = 
		{
		zoom: 15,
		center: myLatlng,
		mapTypeId: google.maps.MapTypeId.HYBRID
		}
	var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);  
	var marker = new google.maps.Marker({
		position: myLatlng, 
		map: map,
		title:"Ma position"
	});  
}
</script>
<div id="map_canvas" style="width:500px; height:500px"></div> 
</div>
<?php
echo "<br>\n";
echo "<br>\n";
?>

A voir également

Ajouter un commentaire

Commentaires

Utilisateur anonyme -
Merci beaucoup!!
Profil bloqué -
Slt
Fonctionnement ? je mets une note pour l effort
localisation avec http://www.utrace.de
j ai installé script stats Ip référer os nombre de visites
http://www.lephpfacile.com/howto/8-comment-faire-un-script-de-statistiques-en-php
tefa24600
Messages postés
30
Date d'inscription
samedi 4 août 2007
Statut
Membre
Dernière intervention
21 février 2012
-
Pas mal, si on ne prend pas en compte la distance entre la Bretagne (page d'infos) et la Dordogne (Lieu de test) :p
mh80100
Messages postés
4
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
21 avril 2008
-
Re bonjour,
ça marche maintenant, les infos sont correctes à part la ville, qui est à l'opposé d'où j'habite, en Picardie.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.