Internet Explorer: 서버에서 볼 수 있도록 사용자 에이전트 문자열 편집

Internet Explorer: 서버에서 볼 수 있도록 사용자 에이전트 문자열 편집

OS: 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 다음과 같이 표시됩니다.앞에 추가사용자 에이전트 문자열에 추가하는 사용자 정의 문자열로 인해 많은 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.

활용하면 일부 사이트를 손상시키는 문자열이 붙어 있으므로 조언을 주시면 감사하겠습니다. 우리가 제어할 수 없는 타사 플랫폼을 지원하려면 사용자 에이전트 문자열에 사용자 지정 항목을 지정해야 합니다.

답변1

에서 이런 일이 가능했습니다.한 시점이지만 이 기능은 더 이상 사용되지 않으며 더 이상 직접 지원되지 않습니다.

HTTP 협상 중에 보고된 사용자 에이전트 문자열("서버에서 확인")과 DOM 속성을 통해 보고된 값의 차이점은 사용자 에이전트 문자열을 오버로드하는 사람들에 대처하기 위해 (부분적으로) 설계된 의도적인 변경입니다.바로 이 패션.

첫 번째 기사에서는 DOM 사용자 에이전트 문자열을 한 번에 조정한 레지스트리 값 세트를 설명합니다. 포스트 플랫폼 설정이 계속 작동할 수도 있습니다. 도구를 실행하는 모든 클라이언트 컴퓨터의 설정을 조정해야 합니다.

포스트 플랫폼 변경 사항이 제대로 적용되지 않으면 다른 접근 방식을 고려해야 합니다.크로스 플랫폼 전략.

도움이 되었기를 바랍니다...

-- 랜스

답변2

IE의 "개발자 도구"를 사용할 수 있습니다.

그냥 누르세요F12활성화하려면.

  • 이전 버전에서는도구메뉴,사용자 에이전트 문자열 변경맞춤설정하세요.

  • 최신 버전에서는 아래에 있습니다.에뮬레이션메뉴.


약간의 조사 끝에 변경하기 위해 조정할 수 있는 몇 가지 레지스트리 항목을 찾았습니다.부분UA 문자열의

깨끗한Win7의 IE11은 다음을 사용합니다.Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

Win8은 NT 6.3일반적으로 Touch어딘가에 추가를 사용합니다.

내 생각엔 그런 것 같아기본.NET값은 레지스트리로 변경할 수 없지만, 그럼에도 불구하고 아래 항목을 삭제하면 추가된 대부분의 항목과 기타 항목을 제거할 수 있다고 생각합니다.

  • [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]

compatibility modeIE에서는 이전 IE 버전을 표시하기 위해 UA 문자열도 변경하여 서버가 이를 생각하도록 "강제"한다는 점을 고려하세요.~이다compatibility mode이전 버전(IE6 또는 7을 사용하는 것 같습니다)이므로 누군가 웹페이지를 로드하는 데 사용해야 하는 경우 원하는 대부분이 쓸모 없게 될 수 있습니다 .

관련 정보