Blog - Archiv

Opera (nicht) erkennen

Manche Benutzer von Opera wundern sich, dass sie auf manchen Seiten mit Hinweisen belästigt werden, dass sie einen „inkompatiblen” Browser verwenden würden. Teilweise wird die Benutzung der Seite dann gleich komplett verwehrt.

Die meisten dieser besserwisserischen Seiten lassen sich mit einer einfachen Einstellung austricksen. Wenn der Browser eine Seite anfordert, schickt er dem Server einen sog. HTTP-Header mit, in dem der „User Agent”, also der Programmname des Browser, angegeben wird. Nach RFC 1945 (HTTP 1.0) ist dieser Header nicht zwingend erforderlich, sollte aber mitgesendet werden. Für HTTP 1.1 (RFC 2616) sieht das nicht anders aus.

Nun schreibt aber niemand einem Browserhersteller vor, in diesem Header auch wirklich den echten Namen des Browser mitzusenden oder das Feld nicht sogar durch den Benutzer frei belegen zu lassen. Deswegen kann man in Opera verschiedene Einstellungen treffen, als welcher User Agent der Browser sich beim Server melden soll.

Die Option zum Modifizieren des User-Agent-Headers

Früher konnte diese Option nur global festgelegt werden, mittlerweile versteckt sie sich in den „seitenspezifischen Einstellungen”. Zu erreichen ist sie per „Rechtsklick auf eine beliebige Seite -> Seitenspezifische Einstellungen -> Netzwerk”. Dort gibt es den Abschnitt „Browser-Identifikation”, in dem man z. B. auswählen kann, dass Opera sich als Internet Explorer ausgeben oder maskieren soll.

Genau dies ist der interessante Punkt. Wählt man die Option „Als Internet Explorer ausgeben”, hat der entsprechende Header noch ein Anhängsel, an dem Opera erkannt werden kann. Wählt man „Als Internet Explorer maskieren” entspricht der Header zwar nicht genau dem eines echten IEs, man kann aber trotzdem nicht mehr zuverlässig entscheiden, ob es sich nicht doch um einen IE handelt.

Um dies zu verdeutlichen, schauen wir uns die beiden Header doch einfach mal an. Wählt man „Als Internet Explorer ausgeben” sendet Opera folgenden Header:

Zitat:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 6.0; de) Opera 9.20

Man beachte die Zeichenfolge „Opera 9.20” am Ende des Headers (diese kann natürlich abweichen, je nach verwendeter Opera-Version). Mit der Option „Als Internet Explorer maskieren” dagegen, sieht der Header folgendermaßen aus:

Zitat:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 6.0; de)

Im Vergleich dazu mal der Inhalt des User-Agent-Headers, wie ihn ein „echter” IE sendet:

Zitat:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

Die Header gleichen sich also nicht völlig, man könnte also auch hier schon eine Unterscheidung treffen. Damit würde man allerdings Gefahr laufen, einen echten IE auszusperren. Funktioniert eine Seite mit Opera also mal nicht und stattdessen wird nur eine sinnfreie Fehlermeldung gezeigt, kann es ich lohnen diese Einstellung zu testen.

Mit JavaScript gibt es allerdings Möglichkeiten zur Identifizierung des Browsers, die verlässlich sind (soweit ich weiß). JavaScript lässt sich zwar ebenfalls in den seitenspezifischen Einstellungen ausschalten, nur funktionieren dann viele Seiten so oder so nicht mehr. So lange es Webentwickler gibt, die meinen, ihren Besuchern den Browser vorschreiben zu müssen, sollte man als Opera-Nutzer für den Fall der Fälle noch eine Alternative installiert haben. Dieser Fall tritt bei mir mittlerweile überings nur noch selten ein.

Keinesfalls sollte dieser Umstand aber dazu führen, dass man den Standardbrowser wechselt. Denn es kann nicht sein, dass der Besucher seine Softwareumgebung an die Webseiten anpassen muss. Das genaue Gegenteil sollte der Fall sein.

geschrieben am: Montag, 23. April 2007 - 23:06 | PermaLink | Tags: , ,
Track-/pingbacks
Keine Track- oder Pingbacks gespeichert.