Internet Explorer: Bearbeiten der Benutzeragentenzeichenfolge, damit sie vom Server angezeigt wird

4004
Beems

Betriebssystem: Windows 7/8
Browser: Internet Explorer 11-
Plattform: x86

Wie kann ich die Benutzeragentenzeichenfolge auf einem Computer so bearbeiten, dass sie von serverseitigem Code und Webserverprotokollen universell erkannt wird? Dies muss eine permanente, implementierbare Lösung sein, so dass etwa die Verwendung der Entwicklertools wahrscheinlich nicht langfristig funktionieren wird.

Die einzige Möglichkeit, eine Benutzeragentenzeichenfolge für Internet Explorer so festzulegen / zu ändern, dass sie von einem Remote-Webserver angezeigt wird, ist die Verwendung des folgenden Registrierungsschlüssels \ value:

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

Das oben Gesagte wird offensichtlich von der Gruppenrichtlinieneinstellung verwendet Windows Components\Internet Explorer\Customize User Agent String.

Wenn Sie den Schlüssel / Wert wie oben gezeigt hinzufügen, würde Ihr User-Agent in etwa wie " Mozilla/5.0 (SomeTestString; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko Leider" angezeigt. Dies führt die benutzerdefinierte Zeichenfolge an, die Sie der User-Agent-Zeichenfolge hinzufügen. Dadurch werden viele Google-Sites und Netflix (und wahrscheinlich viele andere) beschädigt.

Bei Verwendung eines anderen Registrierungsschlüssels / -werts, den ich gefunden habe, wird die Benutzeragentenzeichenfolge über eine JavaScript-Abfrage angezeigt. Sie wird jedoch nicht in den Websiteprotokollen angezeigt (für den Server nicht sichtbar):

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

Wenn Sie in den Webserver des Logs schauen, sehen Sie nur so etwas wie dieses: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko, aber wenn Sie eine Seite getroffen, die JavaScript, um die User - Agent zu zeigen, verwendet, finden Sie etwas wie folgt aus : 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.

Irgendwelche Ratschläge werden geschätzt, da ich mit einer Zeichenfolge festgefahren bin, die bei Verwendung einige Websites bricht. Beachten Sie, dass wir in der Benutzeragentenzeichenfolge ein benutzerdefiniertes Element angeben müssen, um eine Plattform von Drittanbietern zu unterstützen, auf die wir keinen Einfluss haben.

0
Was genau ist deine Frage? Darth Android vor 8 Jahren 0
Zur Verdeutlichung als erster Satz bearbeitet Beems vor 8 Jahren 0

2 Antworten auf die Frage

1
NuTTyX

Sie könnten die "Entwicklerwerkzeuge" von IE verwenden.

Drücken Sie einfach F12, um es zu aktivieren.

  • Bei älteren Versionen ist es unter dem Menü Tools, ändern Sie die Zeichenfolge des Benutzeragenten und passen Sie ihn an.

  • Bei neueren ist es unter dem Emulationsmenü .


Nach einiger Recherche habe ich ein paar Registry-Einträge gefunden, die Sie ändern konnten, um einen Teil der UA-Zeichenfolge zu ändern .

Ein sauberer IE11 unter Win7 verwendetMozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

Win8 verwendet NT 6.3normalerweise ein beliebiges Touch.

Ich denke, diese Standardwerte können von der Registrierung nicht geändert werden. Trotzdem denke ich, dass Sie die meisten der .NETanderen Elemente entfernen könnten, die durch das Löschen der Einträge unter hinzugefügt werden

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

Berücksichtigen Sie einfach, dass compatibility modeauf IE auch die UA-Zeichenfolge geändert wird, um eine frühere IE-Version anzuzeigen, um den Server zu "zwingen" zu denken, dass es sich um eine ältere Version handelt (ich glaube, er verwendet IE6 oder 7). Vielleicht wird also das meiste, was Sie wollen nutzlos machen, wenn jemand compatibility modeeine Webseite laden muss.

Entschuldigung, ich habe die Frage geklärt. Ich hätte sagen sollen, dass ich eine dauerhafte, implementierbare Lösung brauchte. Beems vor 8 Jahren 0
Könnten Sie bitte die genaue Benutzer-Agent-Zeichenfolge eingeben, die Sie benötigen? NuTTyX vor 8 Jahren 0
1
Lance Leonard

Dies war zu einem bestimmten Zeitpunkt möglich, aber die Funktion ist veraltet und wird nicht mehr direkt unterstützt.

Der Unterschied zwischen der während der HTTP-Aushandlung gemeldeten Benutzeragentenzeichenfolge ("vom Server gesehen") und dem über die DOM-Eigenschaft gemeldeten Wert ist eine absichtliche Änderung (zum Teil), mit der Personen bewältigt werden, die die Benutzeragentenzeichenfolge auf genau diese Weise überladen .

Der erste Artikel beschreibt eine Reihe von Registrierungswerten, mit denen die Zeichenfolge des DOM-Benutzeragenten gleichzeitig angepasst wurde. Es ist möglich, dass die Post Platform-Einstellungen weiterhin funktionieren. Sie müssen die Einstellungen für alle Client-Computer anpassen, auf denen das Tool ausgeführt wird.

Wenn sich die Post-Plattform-Änderungen nicht ändern, müssen Sie einen anderen Ansatz in Betracht ziehen, der möglicherweise eine plattformübergreifende Strategie verwendet .

Hoffe das hilft...

- Lanze

Dank Lance, das Problem des vollständigen Benutzeragenten, der während der Verhandlungen nicht mehr gesendet wird, ist das, wo unser Problem lag. Wir können es zwar senden, aber es wird der benutzerdefinierten Zeichenfolge vorangestellt, die einige Websites unterbricht. Die Verwendung der "Post Platform" -Tasten oder Versionsvektoren [https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx] scheint die beste Wahl zu sein, aber ein reiner Server- Nebenlösung zur Erkennung wird uns wahrscheinlich entgehen. Beems vor 8 Jahren 0
Zu einem Zeitpunkt wären Versionsvektoren eine ideale Lösung gewesen. Sie hängen jedoch von bedingten Kommentaren ab, die in IE10 deaktiviert wurden. Es tut uns leid. : - \ Lance Leonard vor 8 Jahren 0
Vielen Dank. Microsoft macht es mir in letzter Zeit sehr schwer. Beems vor 8 Jahren 0
Hallo @Lance, können Sie bitte Informationen zur Abwertung von Registrierungsschlüsseln für Benutzeragenten bereitstellen? Ich kann keine Informationen über die Zurückweisung auf der angegebenen URL finden. Vielen Dank! andrej vor 5 Jahren 0
@andrej - Ich glaube nicht, dass es per se eine offizielle Aussage gab. RegKeys wurden immer als nicht unterstützt betrachtet (daher konnte dev die Implementierung ändern, ohne sich um Compat zu sorgen). Das nächste, was ich jetzt finden kann, befindet sich in der Nähe der Unterseite von https://docs.microsoft.com/de-de/previous-versions/windows/internet-explorer/ie-developer/compatibility/hh869301%28v%3dvs.85%29 Das bedeutet, dass die Pre / Post-Plattformschlüssel ab IE10 nur über "navigator.userAgent" gemeldet wurden. Nachdem der IE offiziell nicht mehr unterstützt wird, wird es immer schwieriger, diese alten Dokumente zu finden. (Ich bin nicht sicher, ob das eine schlechte Sache ist.) Lance Leonard vor 5 Jahren 0