ОС: Windows 7/8
Браузер: Internet Explorer 11
Платформа: x86
Как я могу отредактировать строку агента пользователя на машине, чтобы она была универсально видна в коде на стороне сервера и в журналах веб-сервера? Это должно быть постоянное, развертываемое решение, так что использование инструментов разработчика, скорее всего, не будет работать в долгосрочной перспективе.
Единственный способ установить / изменить строку пользовательского агента для Internet Explorer, чтобы она была видна удаленному веб-серверу, - это использовать следующий ключ реестра \ значение:
Key: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Version
Value: SomeTestString
Data: NULL
Выше приведено то, что, по-видимому, используется параметром групповой политики Windows Components\Internet Explorer\Customize User Agent String
.
Если добавить ключ / значение , как показано выше, ваш агент пользователя будет выглядеть как - то вроде Mozilla/5.0 (SomeTestString; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
, как Gecko К сожалению, это дописывает пользовательскую строку вы добавляете к строке агента пользователя, которая ломает многие сайты Google и Netflix (и, вероятно, многие другие)
Использование другого найденного ключа / значения реестра покажет строку агента пользователя через запрос JavaScript, но она не отображается в журналах веб-сайта (не видна серверу):
Key: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent
Value: SomeTestString
Data: NULL
Если вы посмотрите в журналах веб-сервера, вы увидите только что-то вроде этого: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
, но если вы нажмете страницу, которая использует JavaScript, чтобы показать пользователю Агент, вы видите что-то вроде этого: 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
.
Любой совет приветствуется, так как я застрял в строке, которая нарушает работу некоторых сайтов. Обратите внимание, что нам нужно указать пользовательский элемент в строке пользовательского агента для поддержки сторонней платформы, которой мы не можем управлять.