Internet Explorer: Edição da sequência do agente do usuário para que seja vista pelo servidor

0

SO: Windows 7/8
Navegador: Internet Explorer 11
Plataforma: x86

Como posso editar a cadeia de caracteres do agente do usuário em uma máquina para ser vista universalmente pelo código do lado do servidor e pelos registros do servidor da web? Isso precisa ser uma solução permanente e implementável, portanto, algo como o uso das Ferramentas do desenvolvedor provavelmente não funcionará a longo prazo.

A única maneira que eu fui capaz de definir / modificar uma seqüência de agente do usuário para o Internet Explorer para que ele seja visto por um servidor da web remoto é usar o seguinte valor \ chave do Registro:

Key:   HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Version
Value: SomeTestString
Data:  NULL

O acima é o que aparentemente é utilizado pela configuração de Diretiva de Grupo Windows Components\Internet Explorer\Customize User Agent String .

Se você adicionar a chave / valor como mostrado acima, seu agente de usuário aparecerá como algo como Mozilla/5.0 (SomeTestString; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko Infelizmente, isso prefixa a string personalizada que você adiciona à string do agente do usuário, o que quebra muitos sites do Google e o Netflix (e provavelmente muitos outros)

O uso de outra chave / valor do registro encontrado mostrará a string do agente do usuário por meio de uma consulta JavaScript, mas não aparecerá nos registros do site (não visível para o servidor):

Key:   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings.0\User Agent
Value: SomeTestString
Data:  NULL

Se você procurar nos registros do servidor da web, verá apenas algo assim: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko , mas se você acertar uma página que usa JavaScript para mostrar o agente do usuário, verá algo parecido com isto: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; SomeTestString; rv:11.0) like Gecko .

Qualquer conselho é apreciado, pois estou preso a uma string que quebra alguns sites, se utilizada. Observe que precisamos especificar um item personalizado na string do agente do usuário para suportar uma plataforma de terceiros que não podemos controlar.

    
por Beems 09.06.2015 / 20:44

2 respostas

1

Isso foi possível em um ponto no tempo , mas o recurso foi preterido e não é mais suportado diretamente.

A diferença entre a cadeia do agente do usuário informada durante a negociação HTTP ("vista pelo servidor") e o valor relatado pela propriedade DOM é uma alteração deliberada projetada (em parte) para lidar com pessoas que sobrecarregam a cadeia do agente do usuário exatamente assim .

O primeiro artigo descreve um conjunto de valores do registro que ajustaram a string do agente do usuário DOM de uma só vez; É possível que as configurações da Post Platform continuem funcionando. Você precisaria ajustar as configurações para todas as máquinas clientes executando a ferramenta.

Se as alterações na plataforma de postagem não forem implementadas, será necessário considerar uma abordagem diferente, talvez usando uma estratégia entre plataformas .

Espero que isso ajude ...

- Lança

    
por 09.06.2015 / 22:01
1

Você pode usar as "ferramentas do desenvolvedor" do IE.

Basta pressionar F12 para ativá-lo.

  • Nas versões mais antigas, ele está no menu ferramentas , altera a sequência do agente do usuário e personaliza-o.

  • Nos mais novos, ele está no menu emulação .

Depois de algumas pesquisas, localizei algumas entradas de registro que você poderia ajustar para alterar parte da string UA.

Um clean IE11 no Win7 usa Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

O Win8 usa NT 6.3 e normalmente adiciona Touch em algum lugar.

Eu acho que esses valores padrão não podem ser alterados pelo registro, mas eu acho que você poderia se livrar da maioria das .NET e outras coisas que são adicionadas, excluindo as entradas em

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings.0\User Agent\Post Platform]
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings.0\User Agent\Post Platform]

Apenas leve em conta que compatibility mode no IE também muda a string UA para mostrar uma versão anterior do IE para "forçar" o servidor a pensar que é uma versão mais antiga (acho que usa o IE6 ou 7), então talvez a maior parte do que você deseja será inútil se alguém precisar usar compatibility mode para carregar uma página da Web.

    
por 09.06.2015 / 21:19