본문 바로가기

C# & .NET

IE 7 User-Agent String 버그

728x90
반응형
[설치된 .NET Framework 알아오기]라는 제목의 포스팅에서 웹브라우저가 서버로 전달하기 위해서 작성하는 User-Agent 문자열로부터 사용자 시스템에 설치되어 있는 .NET Framework 버전을 확인하는 방법을 설명한 바 있다.

본인은 웹브라우저로 IE 7 과 파이어폭스 3.x 버전을 사용중인데, 언제부터인가 IE 7 에서 시스템에 설치되어 있는 .NET Framework 버전 정보를 구해내질 못하고 있었다.(파이어폭스에서는 문제없었다)

구글링한 결과 다음과 같은 참고 URL을 얻을 수 있었다.

[An IE7 Bug That Returns MSIE 6.0 User Agent String]
(http://jamazon.co.uk/web/2008/07/23/an-ie7-bug-that-returns-msie-60-user-agent-string/)

IE7 은 User Agent String 으로 작성된 문자열의 길이가 260자를 넘어서면 "Mozilla/4.0 (compatible; MSIE 6.0)" 이라는 문자열만을 리턴한다는 버그이다.

실제로 확인해본 결과 아래 레지스트리 경로에 이상한 URL 값이 추가되어져서 User Agent String 문자열 길이가 260자를 넘어서게 되었고, 항상 "Mozilla/4.0 (compatible; MSIE 6.0)" 이라는 문자열만을 얻을 수밖에 없었던 것이다.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform

참고용으로 웹브라우저가 작성한 User Agent String 문자열값을 확인할 수 있는 샘플 웹페이지 URL을 첨부한다.
[User Agent String 확인]

반응형