Por que o Midori no Fedora Linux finge ser Safari no Mac OS X?

2

Se você estiver usando o Google Chrome no Linux, o cabeçalho de solicitação do User-Agent ficará assim:

Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1

De cima, chegamos a saber que o navegador é o Chrome e o sistema operacional é Linux (eu acho!). Mas quando eu logar do navegador Midori usando o mesmo sistema operacional que é o Linux (Fedora) eu consigo ver isso:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/535+ (KHTML, like Gecko) Version/5.0 Safari/535.4+ Midori/0.4

Por que diz o Macintosh?

    
por Suhail Gupta 09.09.2012 / 15:56

1 resposta

4

O Midori identifica como OS X Safari quando definido como Automático . Escolha Midori para substituí-lo.

De midori/midori-websettings.h :

typedef enum
{
    MIDORI_IDENT_MIDORI /* Automatic */,
    MIDORI_IDENT_GENUINE /* Midori */,
    MIDORI_IDENT_SAFARI,
    // etc.
} MidoriIdentity;

midori/midori-websettings.c :

switch (identify_as)
{
case MIDORI_IDENT_GENUINE:
    return g_strdup_printf ("Mozilla/5.0 (%s %s) AppleWebKit/%d.%d+ %s",
        platform, os, webcore_major, webcore_minor, appname);
case MIDORI_IDENT_MIDORI:
case MIDORI_IDENT_SAFARI:
    g_object_set (web_settings, "enable-site-specific-quirks", TRUE, NULL);
    return g_strdup_printf ("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; %s) "
        "AppleWebKit/%d+ (KHTML, like Gecko) Version/5.0 Safari/%d.%d+ %s",
        lang, webcore_major, webcore_major, webcore_minor, appname);
// etc.

Embora eu não saiba o motivo pelo qual os desenvolvedores preferiram fingir ser o Safari, http://webaim.org/blog/user-agent-string-history / "> esta postagem de blog do histórico da string do agente do usuário de dois anos atrás é preenchida com exemplos anteriores de ajuste de seqüências de caracteres do agente do usuário para enganar a detecção de recursos em sites. Apenas um exemplo:

And the followers of Linux were much sorrowed, because they had built Konqueror, whose engine was KHTML, which they thought was as good as Gecko, but it was not Gecko, and so was not given the good pages, and so Konquerer began to pretend to be “like Gecko” to get the good pages, and called itself Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko) and there was much confusion.

Os desenvolvedores da Web geralmente adaptam sites a navegadores específicos, implementando fallbacks para navegadores com menos recursos. A Midori é muito desconhecida e tem muito pouca participação de mercado para que os desenvolvedores da Web otimizem especificamente isso.

Então, como uma solução alternativa, seu navegador finge ser um Safari, pois é baseado no WebKit e se comporta da mesma forma. Caso contrário, provavelmente obteria o design básico somente de texto em alguns sites, em vez da moderna experiência HTML5 da qual ele é capaz.

Como não há Safari para Linux, e mudar as strings padrão do agente do usuário traz algum risco de não ser reconhecido como um navegador capaz, eles tiveram a escolha entre o Windows e o Mac OS X.

Apoiando essa suposição, da FAQ do Midori ( data/faq.html quando você faz o download):

Why does Google Mail/ Calendar/ Maps, Facebook not work or show mobile version?

Some websites discriminate against your browser.

If you have Midori older than 0.3.5, go to Preferences > Network > Identify As, and choose Custom. Paste this into the entry:

Mozilla/5.0 (X11; Linux) AppleWebKit/531.2+ Midori/0.3

If this doesn't do the trick, try choosing Safari or Firefox.

Many other websites use similar means of detecting the browser.

    
por 09.09.2012 / 16:53