[ Goran Rakić @ 19.01.2002. 11:56 ] @
Jako mi se dopalo prikazivanje ip mask i os-a pored imena onoga ko je postovao. Kako da ocitam ova dva podatka ALI U OVOM OBLIKU. Zamolio bih za ceo kod kako da rastavim string. plz |
[ Goran Rakić @ 19.01.2002. 11:56 ] @
[ Mihailo @ 19.01.2002. 13:24 ] @
Prvo koristiš fju $HTTP_USER_AGENT da dobiješ "user agent string" koji daje verziju browsera i sistema (uglavnom): "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)". Onda sa fjom eregi ili ereg (ista stvar samo case sensitive) tražiš string (primer): "NT 5.0". Ako ti vrati "true" OS je Win 2000.
Primer za W2K: $uastring=$HTTP_USER_AGENT; if (ereg("NT 5",$uastring)) $os="Windows 2000"; if (ereg("MSIE",$uastring)) $browser="Internet explorer"; Za dobijanje IP odnosno hostname: $host=gethostbyaddr($REMOTE_ADDR); gde je remote_addr adresa klijenta koju prevodi fja gethostbyaddr [ Goran Rakić @ 19.01.2002. 19:23 ] @
hvala, e sada kako da znam sta se dobija sa razlicitim os-ovima (i browserima ali to nema veze)...
Gojko nemoj tako ljubomorno da cuvas kod... [ Predrag Damnjanovic @ 19.01.2002. 21:15 ] @
Citat: Go! X: hvala, e sada kako da znam sta se dobija sa razlicitim os-ovima (i browserima ali to nema veze)... Gojko nemoj tako ljubomorno da cuvas kod... Taj kod sam mu ja dao, ja sam ga napisao za Zastitu: $agent=" ".strtolower($HTTP_USER_AGENT); if (strpos($agent, "konqueror")!=false) $os="unix"; if (strpos($agent, "lynx")!=false) $os="unix"; if (strpos($agent, "w3m")!=false) $os="unix"; if (strpos($agent, "unix")!=false) $os="unix"; if (strpos($agent, "win")!=false) $os="windows"; if (strpos($agent, "microsoft")!=false) $os="windows"; if (strpos($agent, "linux")!=false) $os="unix"; if (strpos($agent, "x11")!=false) $os="unix"; if (strpos($agent, "sunos")!=false) $os="unix"; if (strpos($agent, "bsd")!=false) $os="unix-bsd"; if (strpos($agent, "os/2")!=false) $os="os2"; if (strpos($agent, "qnx")!=false) $os="unix-qnx"; if (strpos($agent, "mac")!=false) $os="macintosh"; if (strpos($agent, "beos")!=false) $os="beos"; [ Goran Rakić @ 20.01.2002. 16:45 ] @
hvala, ali ...
opet ja sa ali, ovde na forumu pise recimo Windows XP ili Windows 2000, a ovo je primer samo za Windows ili unix... Za win2000 (i receno mi je, a i ja sam znao posto ga imam) da je NT5, ali sta je sa, recimo XP, kako se on indetifikuje ima li negde link sa popisom? [ leka @ 20.01.2002. 19:48 ] @
Za mene Linux nikada neće biti UNIX i želim da se za Linux napiše da je Linux, a ne UNIX! - Neko će misliti da se zezam - veoma sam ozbiljan!
[ Zoran Rašković @ 20.01.2002. 20:08 ] @
Citat: leka: Za mene Linux nikada neće biti UNIX i želim da se za Linux napiše da je Linux, a ne UNIX! - Neko će misliti da se zezam - veoma sam ozbiljan! word! [ FlatLine @ 22.01.2002. 14:31 ] @
Code: <?php /* Simple OS Detection script */ $OS = $HTTP_USER_AGENT; $OSList = Array ( /* Windows */ "Win|Windows", "Win16|Windows", "Win95|Windows 95", "Win98|Windows 98", "Win32|Windows", "WinNT|Windows NT", "Windows 3.1|Windows 3.1", "Windows 95|Windows 95", "Windows CE|Windows CE", "Windows 98|Windows 98", "Windows NT|Windows NT", "Windows NT 5.0|Windows 2000", "Windows NT 5.1|Windows XP", /* Macintosh */ "Mac_68000|MacOS m68K", "Mac_68K|MacOS m68K", "Mac_PowerPC|MacOS PPC", "Mac_PPC|MacOS PPC", "Macintosh|MacOS", /* Unices */ "X11|UNIX", "BSD|BSD", "SunOS|SunOS", "IRIX|IRIX", "HP-UX|HP-UX", "AIX|AIX", "QNX|QNX", "SCO_SV|SCO UNIX", "FreeBSD|FreeBSD", "NetBSD|NetBSD", /* Linux */ "Linux|Linux", "Debian|Debian GNU/Linux", /* Other */ "BeOS|BeOS", "OS/2|OS/2", "AmigaOS|AmigaOS", ); foreach ($OSList as $OSNow) { $OSNow = explode ("|", $OSNow); if (eregi ($OSNow[0], $OS)) { $EndOS = $OSNow[1]; $Check = "No"; } elseif ($Check != "No") { $EndOS = "Unknown"; } } print "$EndOS"; ?> [ Goran Rakić @ 22.01.2002. 14:34 ] @
hvala!!!!!!
[ Goran Rakić @ 26.01.2002. 12:54 ] @
prvo da se jos jednom zahvalim.
Drugo sta je ovo: Mozilla/4.79 (Macintosh; U; PPC) Mozilla/4.0 compatible ZyBorg/1.0 ([email protected]; http://www.WISEnutbot.com) Mozilla/4.0 (Unix) Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.01 [en] Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MSN 6.1; MSNbMSFT; MSNmen-us; MSNc00) - mozda MSN Explorer? Mozilla/2.0 (compatible; MS FrontPage 5.0) Mozilla/2.0 (compatible; T-H-U-N-D-E-R-S-T-O-N-E) a evo i koda koji koristim: //os //kompjuter je zapis u mySQL bazi podataka $kompjuter=$post['kompjuter']; //Windows familija if (eregi("Win",$kompjuter)) $os="Windows"; if (eregi("Win16",$kompjuter)) $os="Windows"; if (eregi("Win32",$kompjuter)) $os="Windows"; if (eregi("Win3.1",$kompjuter)) $os="Windows 3.1"; if (eregi("Win95",$kompjuter)) $os="Windows 95"; if (eregi("Win98",$kompjuter)) $os="Windows 98"; if (eregi("WinNT",$kompjuter)) $os="Windows NT"; if (eregi("Windows 95",$kompjuter)) $os="Windows 95"; if (eregi("Windows CE",$kompjuter)) $os="Windows CE"; if (eregi("Windows 98",$kompjuter)) $os="Windows 98"; if (eregi("Windows NT",$kompjuter)) $os="Windows NT"; if (eregi("NT 5.0",$kompjuter)) $os="Windows 2000"; if (eregi("NT 5.1",$kompjuter)) $os="Windows XP"; if (eregi("Windows 2000",$kompjuter)) $os="Windows 2000"; if (eregi("Windows XP",$kompjuter)) $os="Windows XP"; if (eregi("Win9x",$kompjuter)) $os="Windows 9x"; //mekintoš familija if (eregi("Mac_68000",$kompjuter)) $os="MacOS m68K"; if (eregi("Mac_68K",$kompjuter)) $os="MacOS m68K"; if (eregi("Mac_PowerPC",$kompjuter)) $os="MacOS PowerPC"; if (eregi("Mac_PPC",$kompjuter)) $os="MacOS PowerPC"; if (eregi("Macintosh",$kompjuter)) $os="MacOS"; if (eregi("Mac_PowerPCh",$kompjuter)) $os="MacOS PowerPC"; //*nix if (eregi("X11",$kompjuter)) $os="Unix"; if (eregi("BSD",$kompjuter)) $os="BSD"; if (eregi("SunOS",$kompjuter)) $os="SunOS"; if (eregi("IRIX",$kompjuter)) $os="IRIX"; if (eregi("HP-UX",$kompjuter)) $os="HP Unix"; if (eregi("AIX",$kompjuter)) $os="AIX"; if (eregi("QNX",$kompjuter)) $os="QNX"; if (eregi("SCO_SV",$kompjuter)) $os="SCO Unix"; if (eregi("FreeBSD",$kompjuter)) $os="FreeBSD"; if (eregi("NetBSD",$kompjuter)) $os="NetBSD"; //Neke Linux distribucije if (eregi("Linux",$kompjuter)) $os="Linux"; if (eregi("Debian",$kompjuter)) $os="Debian Linux"; //Amiga, IBM i BeOS if (eregi("BeOS",$kompjuter)) $os="BeOS"; if (eregi("OS/2",$kompjuter)) $os="OS/2"; if (eregi("AmigaOS",$kompjuter)) $os="AmigaOS"; //ukoliko ne moze da prepozna.. if(!$os){$os="nepoznato";} //browser if (eregi("MSIE",$kompjuter)) $browser="Internet Explorer"; if (eregi("Opera",$kompjuter)) $browser="Opera"; if (eregi("Konqueror",$kompjuter)) $browser="Konqueror"; if (eregi("Gecko",$kompjuter)) $browser="Gecko"; if (eregi("Netscape",$kompjuter)) $browser="Netscape"; if (eregi("AOL",$kompjuter)) $browser="AOL"; //ukoliko ne moze da prepozna.. if(!$browser){$browser="nepoznato";} //ip //provajder je zapis u mysql bazi podataka $provajder=$post['provajder']; if(!$provajder){$provajder="nepoznato"."<br>";} else { $provajder=strstr($provajder,"."); $provajder="*".$provajder."<br>"; ima li neko bolji predlog za ovo provajder? [ Zoran Rašković @ 28.01.2002. 01:14 ] @
pa koristi onu skriptu sto je FlatLine poslao, veoma je jednostavno
[ RAGE @ 12.09.2004. 14:03 ] @
i di se to ubaci?
[ Zoran Rašković @ 18.03.2005. 13:28 ] @
Pa to se ubaci tamo gde ti treba :)
Najbolje je napraviti npr os.php i smestiti taj kod tamo.. posle kad god ti treba ta detekcija, includuješ os.php i echuješ rezultat tamo gde hoćeš. [ Goran Rakić @ 18.03.2005. 17:24 ] @
Nadam se da je za godinu dana to skapirao. :)
[ Frane Marinković @ 18.03.2005. 21:22 ] @
zašto samo ne ubaci
<?php include"os.php"; ?> jer sa: <?php include"os.php"; echo("$EndOS"); ?> će mu izbacivat 2xOS sistema: Windows2000Windows2000 [ boccio @ 18.03.2005. 21:26 ] @
Gorane, ja sam kriv :) Koji me je djavo terao da TOPujem ovo...reko, non-stop neko pita za detekciju, pa kao koristice ljudima... I odma se nastavila diskusija :)
[ webmaster1 @ 18.03.2005. 22:42 ] @
pa da - topovati, ali zakljucati!!:))
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|