불여우 사용자 골탕 먹이기의 진실


MS의 작태

이 소스는 MSIE 이외의 브로우저나 MSIE 5.0 미만의 브로우저로 접속하는 경우 페이지를 전환하기 위해서 집어넣은 소스이다. 분명 이러한 작태는 아주 MS적인 작태이다. 세상의 브로우저는 MSIE 밖에 없다는 고질적인 작태다. 그러나 분명 FireFox를 골탕먹이기위해 삽입한 소스는 아니다. <사진: 최고의 귀요미, 사막여우>

목차

불여우 사용자 골탕 먹이기

미운털이 박히놈은 뭔짓을 해도 밉다. 그래서인지 MS가 하는 짓은 다 밉다(그러면서 Windows XP를 쓰고 있는 나도 밉다). 그러나 글은 써야한다. 이 것이 진실이므로.

얼마전 올블로그의 알찬글로

FireFox로 접속하면 페이지 없음 오류가 나타나는 것은 리턴된 문서에 다음과 같은 코드가 포함되어 있기 때문이다(그림에서 붉은색 직사각형).

<script language="JavaScript"> <!-- var userAgent = navigator.userAgent; var MSIEIndex = userAgent.indexOf("MSIE"); if (userAgent.indexOf("Win") == -1 || userAgent.indexOf("MSIE") == -1 || userAgent.substring((MSIEIndex + 5),(MSIEIndex + 6)) < 5) window.location.replace("default.htm"); //--> </script> 

이 코드는 브로우저가 MSIE가 아니거나 MSIE의 버전이 5.0 미만이면 문서의 위치를 /korea/hangul/default.htm으로 변경하는 소스이다. 우연의 일치인지 아니면 다른 이유가 있는지 모르지만 실제 /korea/hangul/default.htm라는 문서가 존재하지 않는다. 따라서 MSIE 이외의 브로우저나 MSIE 버전이 5.0 미만이라면 당연히 '페이지 없음' 오류가 나타난다. 실제 엉터리로 만든 주소 http://www.microsoft.com/korea/hangul/aaa를 입력해도 동일한 화면이 나타난다.

MS의 작태

이 소스는 MSIE 이외의 브로우저나 MSIE 5.0 미만의 브로우저로 접속하는 경우 페이지를 전환하기 위해서 집어넣은 소스이다. 분명 이러한 작태는 아주 MS적인 작태이다. 세상의 브로우저는 MSIE밖에 없다는 고질적인 작태다. 그러나 분명 FireFox를 골탕먹이기위해 삽입한 소스는 아니다.

또한 이 문제는 MS의 책임보다는 후발 주자인 FireFox의 책임이 훨씬 크다. MSIEUser-Agent는 지금도 Mozilla/4.0으로 시작된다. 그 이유는 선발 주자였던 Netscape과의 호환성을 고려한 것이었다. Netscape이 거의 사장된 지금도 MSIEUser-AgentMozilla/4.0으로 시작된다.

그러나 후발 주자로서 MSIE를 추격해야하는 입장인 FireFoxUser-Agent 스트링에는 MSIE를 고려한 부분이 전혀 없다. FireFox가 선발주자고 MSIE가 후발 주자라면 당연한 현상이겠지만 후발 주자로서 MSIE를 전혀 고려하지 않은 User-Agent는 비단 MS 사이트 뿐만아니라 극히 MS 지향적인 국내의 많은 사이트에서도 문제가 발생할 수 있다.

FireFox외에 Opera와 같은 다른 브로우저를 이용해서 접속하면 잘 접속된다. 그 이유는 대부분의 브로우저들이 MSIE와의 호환성을 고려해서 User-AgentMSIE라는 문자열을 포함하고 있기 때문이다. 참고로 Opera의 User-AgentMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.0이다.

MS의 꼼수

마지막으로 다음 절차에따라 MSIE의 User-Agent를 MSIE 이외의 User-Agent로 변경하면 MSIE로도 해당 사이트에 접속할 수 없는 것을 확인할 수 있을 것이다.

  1. '시작/실행/regedit'를 입력하고 '확인'을 클릭한다.
  2. 다음 레지스트리로 이동한다.
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion \Internet Settings\5.0\User Agent
  3. 우측 패널의 '기본값'을 두번 클릭하고 값 데이터를 Mozilla/4.0로 설정한다.
  4. MSIE를 종료하고 다시 기동한다.
  5. http://www.microsoft.com/korea/hangul/에 접속한다.

MSIE의 User-Agent를 변경하고 http://www.microsoft.com/korea/hangul/에 접속하면 FireFox와 동일한 오류를 확인할 수 있다.

관련 글타래


Powered by Textcube