Článek  |   Diskuze  |   Ukázat zdroj  |   Historie

Opera Lover - 9 den

Z Operacesky Wiki

Přejít na: navigace, hledání

Obsah

Den 9. ua.ini

Jestliže používáte Operu delší dobu, určitě jste již narazili na stránku, která tvrdila, že nebude fungovat v Opeře. Přesto většina takových stránek fugovat bude, pokud se úmyslně nesnaží diskriminovat uživatele Opery.

Dnes si ukážeme způsob, kterým lze ovlivnit identifikaci Opery. V Opeře 8 se poprvé objevuje soubor ua.ini, v němž lze nastavit, jako který user-agent se bude Opera hlásit.

Co je to user-agent? Každý prohlížeč se ohlásí webové stránce, kterou navštívíte. Například váš prohlížeč se ohlašuje jako Opera/9.21 (Windows NT 5.1; U; MEGAUPLOAD 1.0; en).

Proč je to tak zařízené? Dobrá, pohodlně se usaďte a já vám o tom budu vyprávět. (Jestliže víte jak funguje detekce prohlížečů a jste ochotni pozvednout pravou ruku a přísahat, že ji nikdy nepoužijete, můžete přeskočit níže k části Nastavení ua.ini).

Příběh začal už před mnoha lety. Kdysi dávno uživatelé znali jen Internet Explorer a Netscape a ty byly témeř na vlas stejné. Netscape se však chtěl odlišit a proto přišel s novými funkcemi. Následně webové stránky začaly zjišťovat, zda používáte Internet Explorer nebo Netscape. Pokud jste používali Netscape byli jste přesměrování na jednu stránku, pokud Internet Eplorer tak na druhou... nebo se vám zobrazila výhružná (a hrozná) hláška "Tyto stránky jsou optimalizovány pro ...".

Posléze se Internet Explorer rozšířil o stejné funkce, ale bylo již příliš pozdě. Už byly vytvořeny stránky, které kontrolovaly, zda používáte Netscape. Co se tedy stalo?

Řešení by mohla být různá, ale Internet Explorer nakonec začal předstírat, že je Netscape. Internet Explorer vlastně jaksi dodnes předstírá, že je Netscape. Zde je příklad řetězce, kterým se Internet Explorer 6 (pod Windows XP) identifikuje: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322)

Všimli jste si, že první slovo je Mozilla? Proč Mozilla? Protože tak se identifikoval Netscape. Ano, později vznikl prohlížeč Mozilla Suite, který byl založen na Netscape. Že už jste zmatení? Ještě jsem se ani pořádně nerozpovídal!

Postupem doby Internet Explorer přidal funkce, které v Netscapu nebyly - a tvůrci stránek začali testovat, jestli používáte Explorer. I Netscape posléze začlenil tyto funkce, aby držel krok, ale více a více uživatelů muselo číst "Tato stránka je optimalizována pro ...".

Určitě už křičíte "Dost. Přestaň!". Kéž bych mohl. Takže už známe stránky, které rozlišují Internet Explorer a Netscape. Už to je špatné. Ale pak se začaly rozlišovat i jednotlivé verze prohlížečů a uživatelé četli "Stránky jsou optimalizovány pro prohlížeč XY verze 5." Samozřejmě, že později vznikla verze 6 a mnoho stránek nemělo podmínku pro větší než 5 a všechno bylo znovu špatně.

A co více - začal se odlišovat i Netscape pro Mac a Netscape pro Windows a Internet Explorer pro Windows a Internet Explorer pro Mac. A tak programátoři museli zjistit jméno prohlížeče, verzi prohlížeče a typ operačního systému. (Už radši ani nebudu rozebírat, že Windows XP se hlásí jako "Windows NT 5.1".)

"Ale počkat!", marně žadoníte ve stavu totální beznaděje, "v posledních několika letech se přece objevily na scéně dva zcela nové prohlížeče! Firefox a Safari! Tvůrci nových stránek určitě zjistili, že nemohou podstrkovat stránky jen několika vybraným prohlížečům."

Bohužel vaše radost je bezdůvodná. Oba prohlížeče musely čelit tvrdé realitě. Nemohly si dovolit odepřít uživatlům přístup na některé webové stránky, jen kvůli tomu, že nepoužívají prohlížeč XY. Firefox proto přišel s novým slovem: Gecko. Identifikační řetězec Firefoxu pak může vypadat třeba takto:

Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ; rv:1.7.12) Gecko/20050919 Firefox/1.0.7

Můžete hádat, jak na to zareagovali tvůrci stránek. Ano, uhodli jste. Začali hledat klíčové slovo Gecko. Safari se rozhodlo jít stejnou cestou jako Firefox a předstíralo, že je Firefox. Do svého user-agent řetězce vkládalo také slovo Gecko. Tudíž Safari se identifikuje například takto:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312

Tak už by vás nemělo překvapit, že občas s Operou narazíte na stránky, které berou v potaz pouze Internet Explorer a Netscape.

Nastavení UA.ini

Jak se chová Opera? Mohla by říci "Já jsem Opera, nech mě vstoupit na stránku", ale většina stránek by jí samozřejmě vstoupit nenechala. Takže i Opera musí předstírat, že je někdo jiný. Ve výchozím nastavení se Opera maskuje jako Internet Explorer. Po stisknutí klávesy F12 si můžete vybrat, jak se má Opera hlásit (případně můžete totéž změnit v Nastavení > Pokročilé > Síť).

Poznámka v překladu: Od verze 9 by se měla Opera ve výchozím nastavení hlásit jako Opera.

V seznamu změn (changelog) pro Operu 8 se píše, že Opera se může identifikovat jako:

  1. Opera
  2. Mozilla
  3. Internet Explorer
  4. Mozilla (úplné skrytí klíčového slova Opera)
  5. Internet Explorer (úplné skrytí klíčového slova Opera)

Volby 1, 2 a 3 jsou dostupné prostřednictvím nabídky pod klávesou F12. Nové jsou však možnosti 4 a 5, které nabízejí úplné skrytí klíčového slova z User Agent řetězce.

Úpravou souboru ua.ini můžete obelstít některé stránky a přesvědčit je, že používáte jiný prohlížeč. Většinou zjistíte, že stránky fungují dobře, i když vám tvrdí, že musíte použít Netscape nebo Internet Explorer. Avšak například MSN stránky od Microsoftu kdysi bezdůvodně blokovaly přístup přes Operu a proto je zde vhodné využít maskování přes ua.ini.

Jak používat UA.ini

Struktura souboru je vcelku jednoduchá. Ujistěte se, že jste ukončili Operu před úpravami souboru a otevřete soubor v textovém editoru, který podporuje kódování UTF-8. Formát souboru je následující:

Opera preferences version 2.0
; Do not edit this file while
; Opera is running
; This file is stored in UTF-8 encoding

[Identity]
www.opera.com=1
gmail.google.com=1
gmail.com=1
msdn.microsoft.com=2

Jednoduše přidejte položky stejným postupem - tj. server = číslo z výše uvedeného seznamu.

Pokud byste něco ve vašem souboru pokazili, můžete jej smazat, znovu spustit Operu a zvolit Nápověda > Zkontrolovat verzi. Opera by měla stáhnout nový prázdný soubor.

Kde najdu soubor UA.ini?

  • Mac: ~/Library/Preferences/Opera Preferences/
  • Windows: Napište do adresového řádku opera:about a najděte položku "Adresář s Operou"

Proč prostě Opera nezruší vkládání slova "Opera" do user agent řetězce? Kdyby to udělala, pak by jednoduše Opera zmizela z webu. Lidé, kteří dělají webové stránky, by nikdy neviděli uživatele Opery v jejich statistikách. Už dnes je docela pravděpodobné, že mnoho serverů podhodnocuje množství uživatelů Opery, protože mají špatně udělanou kontrolu user agent řetězce.

Doufejme, že Opera brzy přijde s nastavením pro jednotlivé stránky pomocí dialogového okna a nebude nutné přímo zasahovat do INI souborů. Bylo by příjemné upravovat nastavení stejně jednoduše (nebo ještě jednodušeji) jako můžete spravovat cookies.


Externí odkazy

Původní článek v originále (anglicky):
http://operalover.tntluoma.com/8/day_9_uaini