venerdì 23 gennaio 2009

mostrare informazioni sui visitatori in un blog

In questo articolo voglio mostrarvi uno script che ho realizzato in php per ricavare alcune informazioni sugli utenti che visitano i nostri blog, come il loro indirizzo IP, il browser con cui stanno navigando, e il loro sistema operativo.
Se guardate infatti in questa "immagine" che ho inserito nell'articolo, vedrete scritti, sotto il titolo "USER INFO", i vostri dati!
Questo accade perchè i vari browsers (come Internet Explorer, Firefox, Opera ecc..) inviano ai server, nelle richieste HTTP, anche questi tipi di informazioni.
Come avrete notato ho messo tra virgolette la parola "immagine" perchè in realtà ciò che vedete è uno script php che ha il compito di ricavare le informazioni di cui parlavo e di farle visualizzare in formato immagine.

Se volete utilizzare l'immagine potete inserirla nel vostro blog semplicemente copiando questo codice html:
<a href="http://oisirbanetwork.blogspot.com/"><img src="http://oisirbanetwork.altervista.org/userinfo.php" /></a>
Per inserirla nella firma di un forum invece copiate:

[url=http://oisirbanetwork.blogspot.com][img]http://oisirbanetwork.altervista.org/userinfo.php[/img][/url]

Altrimenti se siete pratici di php ecco l'intero sorgente:



<?php
function GetBrowser(){
$browser = array("I.Explorer" => "MSIE",
"FireFox" => "Firefox",
"Lynx" => "Lynx",
"Opera" => "Opera",
"WebTV" => "WebTV",
"Konqueror" => "Konqueror",
"Bot" => "bot|Google|slurp|scooter|spider|infoseek",
"Netscape" => "Nav|Gold|x11|Netscape",
);
foreach($browser as $chiave => $valore){
if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
return $chiave;
}
}
return "sconosciuto";
}

function GetSistemaOperativo(){
$os = array(
"Windows Vista" => "Windows NT 6.0",
"Windows XP" => "Windows NT 5.1",
"Windows 2000" => "Windows NT 5.0",
"Windows ME" => "Windows NT 4.90",
"Windows 95" => "Win95",
"Windows 98" => "Win98",
"Windows NET" => "Windows NT 5.2",
"Windows NT" => "WinNT4.0",
"Mac" => "Mac|PPC",
"Linux" => "Linux",
"FreeBSD" => "FreeBSD",
"SunOS" => "SunOS",
"Irix" => "Irix",
"BeOS" => "BeOS",
"OS/2" => "OS/2",
"AIX" => "AIX",
);
foreach($os as $chiave => $valore){
if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
return $chiave;
}
}
return "sconosciuto";
}

$so = GetSistemaOperativo();
$br = GetBrowser();
$ip = $_SERVER['REMOTE_ADDR'];

$img=imageCreate(120,80);
$sfondo =imageColorAllocate($img,255,200,0);
$colore =imageColorAllocate($img,200,0,0);
$nero =imageColorAllocate($img,0,0,0);

imagerectangle($img,0,0,119,79,$nero);
imagettftext($img, 11, 0, 16, 16, $colore, "font03.ttf", "USER INFO:");
imagettftext($img, 10, 0, 3, 23, $colore, "font05.ttf", "\nTuo IP: $ip\nBrowser: $br\nSistema: $so");

Header('Content-disposition:attachment;filename=UserInfo.gif');
Header ( 'Content-type:image/gif' );
imagegif($img);
?>

Nessun commento:

Posta un commento