User Agents

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

User Agents

Beitrag von Dungeonwatcher »

Deine phpBB Version: Vanilla phpBB 2.0.18
MODs: Nein
Dein Wissensstand: Einsteiger
Link zu Deinem Forum: http://dungeon-bbs.homeip.net/

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?
die Browserangabe verfeinert


Was hast Du bereits versucht um das Problem zu lösen?




Fehlerbeschreibung und Nachricht

Moin! :cool:

@oxpus hatte vor einiger Zeit o.g. Minimod erstellt. Ich wollte darin die Browsererkennung verfeinern, was auch teilweise funktioniert. Nur leider wird Netscape nur als Mozilla erkannt?

Netscape selber meldet sich so:

Code: Alles auswählen

Mozilla/5.0 (Windows; U; Win98; de-DE; rv:1.0.2) Gecko/20021120 Netscape/7.01
Der aktuelle PHP code sieht so aus:

Code: Alles auswählen

<?PHP

function get_user_browser()
{
	global $userdata, $db;

	$curos = strtolower($_SERVER['HTTP_USER_AGENT']);

	if (strstr($curos,"gecko"))
	{
		if (strstr($curos,"safari"))
		{
			$bos="Safari";
		}
		else if (strstr($curos,"beonex"))
		{
			$bos="Beonex";
		}
		else if (strstr($curos,"epiphany"))
		{
			$bos="Epiphany";
		}
		else if (strstr($curos,"firebird"))
		{
			$bos="Firebird";
		}
		else if (strstr($curos,"firefo"))
		{
			$bos="Firefox";
		}
		else if (strstr($curos,"galeon"))
		{
			$bos="Galeon";
		}
		else if (strstr($curos,"k-melon"))
		{
			$bos="K-Melon";
		}
		else if (strstr($curos,"konqueror"))
		{
			$bos="Konqueror";
		}
		else if (strstr($curos,"netscape"))
		{
			$bos="Netscape";
		}
		else if (strstr($curos,"omniweb"))
		{
			$bos="Omniweb";
		}
		else
		{
			$bos="Mozilla";
		}
	}
	else if (strstr($curos,"opera"))
	{
		$bos="Opera";
	}
	else if (strstr($curos,"msie"))
	{
		$bos="Internet Explorer";
	}
	else if (strstr($curos,"voyager"))
	{
		$bos="Voyager";        
	}
	else if (strstr($curos,"lynx"))
	{
		$bos="Lynx";
	}
	else
	{
		$bos="Other";
	}
   
	$sql = "UPDATE " . USERS_TABLE . "
		SET user_browser = '$bos'
		WHERE user_id = " . $userdata['user_id'];
	if (!$db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, 'Could not save user agent', '', __LINE__, __FILE__, $sql);
	}

	return $bos;
}

function get_user_agent_img($user_browser)
{
	global $images;

	switch ($user_browser)
	{
		case 'Safari':
			$agent_img = 'safari';
			break;
		case 'Beonex':
			$agent_img = 'beonex';
			break;
		case 'Epiphany':
			$agent_img = 'epiphany';
			break;
		case 'Firebird':
			$agent_img = 'firebird';
			break;
		case 'Firefox':
			$agent_img = 'firefox';
			break;
		case 'Galeon':
			$agent_img = 'galeon';
			break;
		case 'K-Melon':
			$agent_img = 'k-melon';
			break;
		case 'Konqueror':
			$agent_img = 'konqueror';
			break;
		case 'Netscape':
			$agent_img = 'netscape';
			break;
		case 'Mozilla':
			$agent_img = 'mozilla';
			break;
		case 'Omniweb':
			$agent_img = 'omniweb';
			break;
		case 'Opera':
			$agent_img = 'opera';
			break;
		case 'Internet Explorer':
			$agent_img = 'msie';
			break;
		case 'Voyager':        
			$agent_img = 'voyager';
			break;
		case 'Lynx':
			$agent_img = 'lynx';
			break;
		default:
			$agent_img = 'unknown';
	}

	$user_agent_img = '<img src="images/user_agents/agent_'.$agent_img.'.png" border="0" style="vertical-align: middle;" alt="'.$user_browser.'"  title="'.$user_browser.'"/>&nbsp;';

	return $user_agent_img;
}
?>
Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, mit meinem Script wird Netscape als Netscape erkannt...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Das stimmt hier auch. Nach dem hinzufügen weiterer Browserkennungen ist es jedoch damit vorbei. Epiphany z.B. wird sauber erkannt, nur halt der NS nicht mehr?

Nachtrag:

Ich muss mich korrigieren. Selbst mit deinem Orginalscript wird Netscape nicht (mehr) erkannt.

Ich muss wohl mal selbst den NS auf meinem Zweitrechner installieren. :rolleyes:

So, dies ist jetzt geschehen. Seltsamerweise wird der NS mit der o.g. Kennung nicht, aber mit dieser Kennung erkannt:

Code: Alles auswählen

Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.4) Gecko/20030619  Netscape/
Zuletzt geändert von Dungeonwatcher am Fr 02.Dez, 2005 13:25, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sofern ich weiß, kann Netscape auch eine andere Kennung senden.
Dann wird es eh schwerer...
Nur mal ernsthaft: Eine solch umständliche Suche für die 1-2 Netscaper???
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus - Fr 02.Dez, 2005 14:06";p="49556"]Sofern ich weiß, kann Netscape auch eine andere Kennung senden.
Dann wird es eh schwerer...[/quote]

Wohl war.
Nur mal ernsthaft: Eine solch umständliche Suche für die 1-2 Netscaper???
Neee, es fiel mir halt nur auf, weil mich ein User darauf ansprach.

Nichts desto trotz hätte ich aber einen Wunsch(Traum) was diese kleine Statistik betrifft. ;)

Es werden doch alle aktuell benutzen Browser der angemeldeten User gespeichert. Suuuper wäre es, wenn dies auch für Gäste ginge und dies dann nicht alle 24h gelöscht würde. Daraus liesse sich doch dann eine exelente Browserstatistik erstellen, oder? Die muss ja nicht so fein sein, das es auf Tag, Monat, Jahr aufgeschlüsselt ist, sondern ganz allgemein die Browsernutzung als Rang, Anzahl, Name und Balkengrafik dargestellt wird. Ich weiss das es diverse externe Statistiken dafür gibt, aber all diese sind mir zu groß. :rolleyes:
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Webalizer.
Bietet nahezu jeder Provider an ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus - Fr 02.Dez, 2005 15:23";p="49565"]Webalizer.
Bietet nahezu jeder Provider an ;)[/quote]

Da ich mein eigener "Provider" bin, tut es hier seit Anbeginn tadellos laufen. ;)

Es ist aber bei weitem nicht das was ich mir als Statistik vorstelle. Ich glaube in phpNuke habe ich genau DIE Statistik gesehen, welche meine Wünsche zu nahezu 100% erfüllen würde. :rolleyes:
Antworten