<?php
/* By Warner, kiegészítés by rajmund; http://phpstudio.hu
*
* Operációs rendszer- és böngészőfelismerő (verziószámmal) osztály.
*
* Felismert operációs rendszerek:
* Microsoft Windows
* MacIntosh
* Linux
* OS/2
* BeOS
* Ubuntu
*
* Felismert böngészők:
* Amaya
* Galeon
* iCab
* Internet Explorer (AOL verziók esetén Internet Explorer-nek ismeri fel, de a verziószám az AOL verziószám lesz az IE verziószáma helyett.)
* Konqueror
* Lynx
* Mozilla
* Netscape Navigator/Communicator
* OmniWeb
* Opera
* Pocket Internet Explorer for handhelds
* Safari
* WebTV
* Chrome
* Seamonkey
* Mosaic
* Avant
* Camino
* Flock
* Maxthon
* Egyéb adatok:
* Ip cím és típusa
* Host
* Proxy használat
* Hiányosságok:
* gecko böngésző
* nem használt böngésző verziók
* internet szolgáltató
*/
class browser
{
var $Name = "undefined";
var $Version = "undefined";
var $Platform = "undefined";
var $UserAgent = "Not reported";
var $AOL = false;
function browser()
{
$agent = $_SERVER['HTTP_USER_AGENT'];
// Tulajadonságok inicializálása
$bd['platform'] = "undefined";
$bd['browser'] = "undefined";
$bd['version'] = "undefined";
$ip['network'] = "undefined";
$ip['host'] = "undefined";
$ip['port'] = "undefined";
$ip['dhost'] = "undefined";
$ip['sub'] = "undefined";
$ip['type'] = "undefined";
$ip['proxy'] = "undefined";
$this->UserAgent = $agent;
// Operáció rendszer felismerése
$bd['platform'] = "Windows";
$bd['platform'] = "MacIntosh";
$bd['platform'] = "Linux";
$bd['platform'] = "OS/2";
$bd['platform'] = "BeOS";
$bd['platform'] = "Ubuntu";
// BÖNGÉSZÕ FELISMERÉSE
// Opera
$bd['browser'] = $val[0];
$bd['version'] = $val[0];
}else{
$bd['browser'] = $val[0];
$bd['version'] = $val[1];
}
// WebTV
$bd['browser'] = $val[0];
$bd['version'] = $val[1];
// MS Internet Explorer version 1
}elseif(stripos($agent, "microsoft internet explorer")){ $bd['browser'] = "MSIE";
$bd['version'] = "1.0";
if (ereg("308|425|426|474|0b1", $var)){ $bd['version'] = "1.5";
}
// NetPositive
}elseif(stripos($agent, "NetPositive")){ $bd['platform'] = "BeOS";
$bd['browser'] = $val[0];
$bd['version'] = $val[1];
// MS Internet Explorer
$bd['browser'] = $val[0];
$bd['version'] = $val[1];
// MS Pocket Internet Explorer
$bd['browser'] = "MSPIE";
$bd['platform'] = "WindowsCE";
$bd['version'] = $val[1];
else {
$bd['version'] = $val[1];
}
// Galeon
}elseif(stripos($agent, "galeon")){ $bd['browser'] = $val[0];
$bd['version'] = $val[1];
// Konqueror
}elseif(stripos($agent, "Konqueror")){ $bd['browser'] = $val[0];
$bd['version'] = $val[1];
// iCab
$bd['browser'] = $val[0];
$bd['version'] = $val[1];
// OmniWeb
}elseif(stripos($agent, "omniweb")){ $bd['browser'] = $val[0];
$bd['version'] = $val[1];
// Phoenix
}elseif(stripos($agent, "Phoenix")){ $bd['browser'] = "Phoenix";
$bd['version'] = $val[1];
// Firebird
}elseif(stripos($agent, "firebird")){ $bd['browser']="Firebird";
$val = stristr($agent, "Firebird"); $bd['version'] = $val[1];
// Firefox
}elseif(stripos($agent, "Firefox")){ $bd['browser']="Firefox";
$bd['version'] = $val[1];
// Mozilla Alpha/Beta Versions
}elseif(stripos($agent, "mozilla") && stripos($agent, "rv:[0-9].[0-9][a-b]") && !stripos($agent, "netscape")){ $bd['browser'] = "Mozilla";
stripos($agent, "rv:[0-9].[0-9][a-b]",$agent,$val);
// Mozilla Stable Versions
}elseif(stripos($agent, "mozilla") && $bd['browser'] = "Mozilla";
stripos($agent, "rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);
// Lynx & Amaya
}elseif(stripos($agent, "libwww")){ $bd['browser'] = "Amaya";
$bd['version'] = $val[0];
} else {
$bd['browser'] = "Lynx";
$bd['version'] = $val[1];
}
}elseif(stripos($agent, "chrome")){ $bd['browser'] = "Chrome";
$bd['version'] = substr($val[1],0,3);
//noname böngészők
}elseif(stripos($agent, "seamonkey")){ $bd['browser'] = "Seamonkey";
$bd['version'] = "undefined";
}elseif(stripos($agent, "mosaic")){ $bd['browser'] = "Mosaic";
$bd['version'] = "undefined";
$bd['browser'] = "Avant";
$bd['version'] = "undefined";
}elseif(stripos($agent, "camino")){ $bd['browser'] = "Camino";
$bd['version'] = "undefined";
$bd['browser'] = "Flock";
$bd['version'] = "undefined";
}elseif(stripos($agent, "maxthon")){ $bd['browser'] = "Maxthon";
$bd['version'] = "undefined";
// Safari
}elseif(stripos($agent, "safari")){ $bd['browser'] = "Safari";
$bd['version'] = substr($val[1],0,3);
// Netscape
}elseif(stripos($agent, "netscape")){ $bd['browser'] = $val[0];
$bd['version'] = $val[1];
}elseif(stripos($agent, "mozilla") && !stripos($agent, "rv:[0-9]\.[0-9]\.[0-9]")){ $bd['browser'] = "Netscape";
$bd['version'] = $val[1];
}
// Tárgyhoz nem tartozó szemét eltakarítása a névből
$bd['browser'] = preg_replace("[^a-z,A-Z]", "", $bd['browser']); // Tárgyhoz nem tartozó szemét eltakarítása a verziószámból
$bd['version'] = preg_replace("[^0-9,.,a-z,A-Z]", "", $bd['version']);
// AOL ellenőrzése
}
//Proxy visszafejtése
if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip['proxy'] = "undentified";
$myip=$_SERVER['HTTP_CLIENT_IP'];
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip['proxy'] = $_SERVER['REMOTE_ADDR'];
$myip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip['proxy'] = "undentified";
$myip=$_SERVER['REMOTE_ADDR'];
}
//IP cím definiálása
$ip['type'] = "A - large";
$ip['network'] = $ip[0];
$ip['host'] = $ip[1].".".$ip[2].".".$ip[3];
$ip['sub'] = 8;
$ip['type'] = "B - medium";
$ip['network'] = $ip[0].".".$ip[1];
$ip['host'] = $ip[2].".".$ip[3];
$ip['sub'] = 16;
$ip['type'] = "C - small";
$ip['network'] = $ip[0].".".$ip[1].".".$ip[2];
$ip['host'] = $ip[3];
$ip['sub'] = 24;
$ip['type'] = "D - multicasting";
$ip['network'] = $ip[0].".".$ip[1].".".$ip[2].".".$ip[3];
$ip['host'] = "undefined";
$ip['sub'] = 32;
$ip['type'] = "E - experimental";
$ip['network'] = "undefined";
$ip['host'] = "undefined";
$ip['sub'] = "undefined";
}
// Tulajdonságok beállítása
$this->Name = $bd['browser'];
$this->Version = $bd['version'];
$this->Platform = $bd['platform'];
$this->AOL = $bd['aol'];
$this->Type = $ip['type'];
$this->Network = $ip['network'];
$this->Host = $ip['host'];
$this->Sub = $ip['sub'];
$this->Port = $_SERVER['REMOTE_PORT'];
$this->Ip = $myip;
}
}
$browser = new browser();
print "Böngésző neve: ".$browser->Name."<br />";
print "Böngésző verziója: ".$browser->Version."<br />";
print "Oprendszer: ".$browser->Platform."<br /><br />";
print "Ip cím: ".$browser->Ip."<br />";
print "Ip Típusa: ".$browser->Type."<br />";
print "Ip Hálózat: ".$browser->Network."<br />";
print "Ip Host: ".$browser->Host."<br />";
print "Ip Sub: ".$browser->Sub."<br />";
print "Igazi IP: ".$browser->Binary."<br />";
print "Port: ".$browser->Port."<br />";
print "Proxy: ".$browser->Proxy."<br />";
print "Host: ".$browser->Provider."<br />";
?>