Betriebssystemerkennung

Marshallbbw

Erfahrenes Mitglied
hallo ich möchte gerne mittels php erkennen lassen um welches Betriebssystem es sich beim Nutzer handelt - eigentlich reicht mir Linux oder Windows

habe schon das Forum durchgeschaut und nichts brauchbares gefunden - könnt ihr mir bitte helfen
 
Das steht in der Regel mit in der Variable $_SERVER["HTTP_USER_AGENT"]
Jedoch kann man diese Information in einigen (oder zumindest im Konqueror) unterdruecken.
 
danke für die Info - kennste vielleicht nen guten Link wo ich mir mehr dazu anlesen kann

Frage: bezieht sich $_SERVER["HTTP_USER_AGENT"] nicht auf den Browser - will doch aber das OS wissen
 
Zuletzt bearbeitet:
Nee, leider nicht.
Du kannst die Variable hiermit ausgeben:
PHP:
printf($_SERVER["HTTP_USER_AGENT"]);
Und z.B. so koennte ein Script zur Erkennung von Linux/Windows aussehen:
PHP:
$os="";
if (strpos($_SERVER["HTTP_USER_AGENT"],"Linux")>-1)
 {
  $os="Linux";
 }
elseif (strpos($_SERVER["HTTP_USER_AGENT"],"Win32")>-1)
 {
  $os="Windows";
 }
else
 {
  $os="Different OS";
 }
Ich bin nicht sicher ob Windows immer Win32 heisst, oder ob auch schonmal Windows genannt wird. Kenne die ganzen User-Agents auch nicht. :)
Aber ich denke, dass man meist auf Win32 trifft.
 
Hmm dazu habe ich auch mal eine Frage, denn man kann ja nie genug lernen :-)

Was kann man eigentlich alles von einem anderne User abfragen? Also du hast ja gerade das Betriebsystem gesagt..

Geht z.B. auch noch folgendes:

- welche Auflösung hat der User
- woher kommt der User also von welcher Seite aus ruft er meine Seite auf
- hat er Javaskript aktieviert oder nicht

Joa das währe mir schon mal sehr viel wert ob man das auch abrufen kann.

Gruß Svenja
 
Woher der User kommt geht ueber den Referrer.
Um den gesamten Inhalt von $_SERVER mal uebersichtlich zu sehen einfach mal das probieren:
PHP:
<html>
<body>
<?
printf(nl2br(print_r($_SERVER,true)));
?>
</body>
</html>
Ob JavaScript an oder aus ist kann man glaub ich nicht abfragen. Letzte Woche hab ich mal was geschrieben um zu testen ob Cookies aktiviert sind. Das Problem ist nur, dass ein Cookie erst nach dem Reload da ist, also nicht in einer Seite gesetzt und dann gleich abgefragt werden kann. Ich weiss nicht ob man irgendwie testen kann ob JS aktiviert ist, da ich auf JS verzichte und mich dementsprechend nicht wirklich damit auseinandersetze. :)

Hier das Script zum Cookies testen: (cookiecheck.php)
PHP:
<?
if (!$_GET["check"])
	{
		setcookie("test","test",time()+3600);
		header("Location: cookiecheck.php?check=1");
	}
else
	{
		if ($_COOKIE["test"]=="test")
			{
				$cookies=true;
			}
		else
			{
				$cookies=false;
			}
		setcookie("test","test",time()-3600);
	}
?>
<html>
<body>
<?
if ($cookies==true)
	{
		printf("Cookies are enabled<br>");
	}
else
	{
		printf("Cookies are disabled<br>");
	}
?>
<a href="cookiecheck.php">Check if cookies are enabled</a>
</body>
</html>
 
Zurück