sitelink1 http://msdn.microsoft.com/library/ms997645 
sitelink2 http://blog.naver.com/locusty?Redirect=L...0012760110 
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

Windows XP 서비스 팩 2를 위한 웹 사이트 미세 조정

Microsoft Corporation

2004년 7월

적용 대상:
   Microsoft Active X 컨트롤
   Microsoft Internet Explorer
   Microsoft Outlook Express
   Microsoft Windows XP 서비스 팩 2 (SP2)

요약: 웹 사이트가 ActiveX 컨트롤, 파일 다운로드, 팝업 창 등에 영향을 미치는 Windows XP SP2의 새로운 보안 기능들과 제대로 동작할 수 있도록 필요한 사항들을 조정하십시오.

이 문서에서 다루게 될 주제들:

웹 사이트에서 Microsoft ActiveX 컨트롤을 사용합니까?
웹 사이트는 사용자들의 파일 다운로드를 허용합니까?
웹 사이트에서 팝업 창을 사용합니까?
웹 사이트는 MSJVM(Microsoft Java Virtual Machine)에 의존합니까?
부라우저 창 제한
일반 팁

웹 사이트에서 Microsoft ActiveX 컨트롤을 사용합니까?

Windows XP 서비스 팩 2 (SP2)에서는 ActiveX 컨트롤 설치가 요구되는 경우 이를 제한하여 알림 표시줄에 표시할 것입니다. 단 컴퓨터 상에 이미 설치되어 있는 컨트롤에 대한 업그레이드는 예외입니다. 대신 컨트롤들은 다음 조건에 부합해야 합니다:

  • ActiveX 컨트롤로 등록되어 있는 파일들은 반드시 Authenticode 기술을 통해 서명되어 있어야 합니다. (이 파일은 HKEY_CLASSES_ROOTCLSID{control_clsid}InProcServer32에서 찾아볼 수 있으며, 여기서 control_clsidOBJECT 태그가 지정한 CLSID 말합니다.)
  • 새 컨트롤의 디지털 서명 안에 있는 게시자 이름은 기존 컨트롤의 디지털 서명 안에 있는 게시자 이름과 일치해야 합니다.
  • ActiveX 컨트롤이 CAB 파일로 저장되는 경우에는, 반드시 CAB 파일에 서명해야 합니다. 또한 설치할 DLL이나 OCX에도 연이어 수행될 업그레이드들이 알림 표시줄에 표시되지 않으려면 반드시 서명해야 합니다.

알림 표시줄이 ActiveX 컨트롤을 제한하고 컨트롤이 페이지를 상당 부분 차지하고 있는 경우, Internet Explorer는 인라인 아이콘과 함께 ActiveX 컨트롤이 설치되어야 한다는 텍스트를 보여줄 것입니다. 사용자들은 이를 클릭하거나 알림 표시줄을 클릭하여 ActiveX 컨트롤을 설치할 수 있습니다.

ActiveX 컨트롤이 CAB 파일 형태로 배포됩니까?

만약 그렇다면, 이 컨트롤을 업그레이드 하라는 내용의 설치 요구 역시 ActiveX 컨트롤로 등록될 DLL 또는 OCX를 서명하지 않는 한 알림 표시줄에 의해 제한될 것입니다.

웹 사이트는 ActiveX 컨트롤의 설치 여부에 따라 다르게 작동합니까?

일부 웹 페이지는 컨트롤이 설치되지 않은 경우 자동으로 리디렉트 되거나 새로 고침 할 때마다 다른 결과를 보여줍니다. 간혹 이런 방식으로 사이트를 구축하면 사용자가 컨트롤을 설치할 수 없게 되어 사용자에게 불편을 줄 수 있습니다.

웹 페이지는 ActiveX 컨트롤 설치를 거부한 사용자와 알림 표시줄에 의해 제한되는 컨트롤을 구분하지 못합니다. 따라서 ActiveX 컨트롤을 설치할 때 컨트롤의 목적을 설명하는 별도의 웹 페이지 상에 컨트롤의 인스턴스를 생성하는 방법이 권장됩니다. 또한 <OBJECT> 태그 내의 <SPAN> 섹션을 사용해 설치에 실패한 사용자에게 도움말 텍스트를 제공할 수 있습니다.

웹 사이트에 Authenticode 대화 상자 이미지가 있습니까?

사용자의 혼란을 피하기 위해 이러한 이미지들을 업데이트 하여 새로운 Authenticode UI에 반영할 수 있습니다. 사용자 에이전트 문자열을 사용해 정확한 브라우저 버전을 파악할 수 있습니다. (보다 자세한 사항은 일반 팁을 참조하시기 바랍니다.)

ActiveX 설치 대화 상자에서 컨트롤이 설치되는 것을 막을 수 있습니까?

대화 상자에 ActiveX 컨트롤 설치 옵션이 없으면, 파일이 정확하게 서명되지 않은 것일 수 있습니다. 파일에 서명했는지, 그리고 그 서명이 유효한지 확인하십시오. 기본값으로 SP2는 서명이 정확하지 않을 때 ActiveX 컨트롤의 설치를 막습니다.

ActiveX에 관한 최상의 지침

  • 팝업 창이나 HTML 대화 상자를 사용해 ActiveX 컨트롤을 설치하지 마십시오.
  • 사용자가 보안 설정을 완화해야만 설치가 가능하도록 하지 마십시오.
  • 컨트롤의 목적이나 사용자에게 미치는 영향에 대해 설명하는 별도의 페이지 상에 ActiveX 컨트롤 인스턴스를 생성하십시오.

웹 사이트는 사용자들의 파일 다운로드를 허용합니까?

SP2에서는 알림 표시줄이 자동으로 실행되는 파일 다운로드 요청을 제한할 것입니다.

SP 2에서는 파일 다운로드 요청, 첨부 파일, 셸 프로세스 실행, 프로그램 설치 작업이 Windows XP 서비스 팩 1 (SP1)에서 보다 훨씬 일관되고 정확하게 수행되도록 개선되었습니다. SP 2에서는 사용자의 컴퓨터에 악영향을 끼칠 수 있고 서명이 가능한 파일 유형을 다운로드한 후에 게시자 정보가 보여질 것입니다(서명 가능하고 사용자의 컴퓨터에 악영향을 미칠 수 있는 일반적인 파일 유형으로는 .exe, .dll, .ocx, .msi 등이 있습니다).

웹 사이트에서 자동 다운로드 요청을 실행할 수 있습니까?

웹 사이트가 사용자가 마우스 클릭이나 키를 사용해 검색을 시작하지 않은 상태에서 나타난 파일 다운로드 대화 상자에 나와 있는 리소스를 검색하려고 하는 경우에는 알림 표시줄에 의해 파일 다운로드 요청이 제한될 것입니다.

다운로드가 제한되지 않도록 하기 위해 사용자가 직접 수행하는 경우에만 다운로드가 일어나도록 설정할 수 있습니다.

웹 사이트에 콘텐츠 유형에 맞지 않는 파일 확장자를 가진 파일이 포함되어 있습니까?

사이트에서 MIME 처리기에 의해 처리되는 파일을 제공한다면, 그러한 파일들의 파일 확장자는 반드시 MIME 처리기와 같은 ProgID에 해당하는 것이어야 합니다. 주어진 파일에 대한 콘텐츠 유형 ProgID가 파일 확장자 ProgID와 일치하지 않는 경우, XP SP2의 Internet Explorer는 다음과 같은 작업을 수행할 수 있습니다: 1)사용자는 파일을 다운로드하라는 요청을 받을 수 있습니다. 그리고 2)파일은 MIME 처리기에서의 실행이 실패한 경우 확장자 처리기에서도 실행되지 않을 것입니다.

콘텐트 유형을 파일 확장자에 맞게 변경하여 이러한 문제를 정정할 수 있습니다. 이는 웹 페이지에서도 마찬가지 입니다.

예외: 이 변경 내용은 "content-disposition=attachment" 헤더가 전송되지 않는 경우에는 영향을 미치지 않습니다. 그러한 경우에는 서버가 제시한 파일명이나 확장자가 최종 파일명 내지는 확장자로 여겨지며, Multipurpose Internet Mail Extensions (MIME) 스니핑(sniffing)을 기반으로 변경되지도 않습니다.

웹 사이트에서 컨트롤을 수용하기 위해 클릭할 때 이미지나 텍스트가 뜹니까? 아니면 다운로드 대화 상자 이미지가 뜹니까?

Windows XP 서비스 팩 2를 사용하고 있는 경우에는 다운로드 요청을 나타내는 모든 이미지들을 업데이트하여 새로운 다운로드 대화 상자에 반영하십시오. 이미지 버전을 확인하려면 Internet Explorer에서 사용자 에이전트 문자열을 사용하십시오. (SP2에 대한 보다 자세한 사항은 일반 팁을 참조하십시오).

웹 사이트에 디지털 서명이 이루어져야만 하는 다운로드가 있습니까?

SP2는 디지털 서명이 가능한 파일들에 대해서는 디지털 서명을 확인합니다. 이러한 대표적인 파일들은 다음과 같은 확장자들을 가진 파일들입니다: exe, .dll, .cab, .ocx, .msi. 만약 여러분이 Authenticode 코드 기술을 활용해 서명 가능한 파일들을 게시했다면, 사용자들은 여러분이 파일을 생성했다는 내용을 확인할 수 있을 것입니다. 이는 Internet Explorer와 Outlook Express 모두에 적용됩니다.

웹 사이트에서 팝업 창을 사용합니까?

Internet Explorer에는 SP2에서 기본값으로 활성화되는 팝업 차단기가 포함되어 있습니다. 이 팝업 차단기는 스크립트로부터 자동으로 새 창을 형성하는 사이트들을 방해할 수도 있습니다. 팝업 차단기에는 자동 팝업이 필요한 경우에 도움이 되는 허용 목록이 포함되어 있습니다. 기본적으로 팝업 차단기는 인트라넷이나 신뢰할 수 있는 사이트 영역에서 실행되는 팝업들을 차단하지는 않습니다.

Internet Explorer는 팝업 창을 어떻게 처리합니까?

Internet Explorer는 createPopup()을 제외하고는 스크립트에서 자동으로 열리는 모든 창을 차단하려고 할 것입니다. 영향을 받는 일반적인 함수들은 window.open(), showModelessDialog(), showModalDialog(), showHelp()등입니다. (참고: 자동으로 검색창을 지정하는 것 또한 팝업 창 차단 제한 조건에 의해 차단됩니다.)

사용자의 어떤 행동의 결과로 열린 팝업 창(예를 들어 페이지의 어느 한 항목을 클릭했다든가 하는 행동)은 차단되지 않습니다. 팝업 차단은 기본값으로 인트라넷이나 신뢰할 수 있는 사이트 영역에는 영향을 미치지 못합니다.

Internet Explorer가 팝업 창을 차단했는지 어떻게 알 수 있습니까?

창 개체를 반환하는 함수들은 창이 차단되면 Null 값을 반환합니다. 팝업 창이 차단될 때 스크립트 오류를 피하려면 항상 사용 전에 window.open() 의 반환값을 확인해야 합니다.

차단된 팝업을 기반으로 사이트가 페이지를 리디렉트하거나 닫습니까

가능하다면 차단된 콘텐츠를 기반으로 창을 리디렉트하거나 닫지 마십시오. 팝업 창이 차단된 상태에서 사이트가 다른 사이트로 리디렉트된 경우, 차단된 팝업을 다시 표시하는 일이 어려울 수 있습니다. 왜냐하면 리디렉션된 사이트가 알림 표시줄에 표시되지 않아서 쉽게 팝업에 액세스할 수 없기 때문입니다.

마찬가지로 차단된 팝업으로 인해 창이 닫히는 경우에도 차단된 팝업을 보여 주는 알림 표시줄 항목이 창에 표시되지 않습니다.

팝업에서 팝업을 실행할 수 있습니까?

다른 팝업 창에서 자동 팝업 창을 실행하지 마십시오. 다음 실행 시 팝업 차단기에서 사용자 작업으로 판단되지 않기 때문에 차단될 것입니다.

setHomePage() 대화 상자를 자동으로 실행합니까?

Windows XP 서비스 팩 2에서는 유일하게 setHomePage() 함수만이 팝업 창과 유사하게 사용자 동작에 의해 실행됩니다. 자동으로 시작되는 setHomePage() 옵션은 차단될 것입니다.

비동기적으로 정보가 요청되는 경우에는 새 창이 열립니까?

Internet Explorer는 비동기적으로 정보를 요청한 후에 사이트가 창을 여는 경우에는, 이것이 사용자가 링크를 클릭해서 열리는 창일지라도 이를 차단할 수 있습니다. 그러나 비동기식 정보 요청 전에 사용자의 행동(마우스 클릭)에 의해 열리는 경우에는 차단되지 않습니다.

웹 사이트는 ActiveX 컨트롤을 통해 팝업 창을 실행합니까, 아니면 페이지의 다른 개체를 통해 실행합니까?

다른 팝업 창들처럼 사용자의 어떤 동작에 의해 창이 시작된 경우가 아닐 때에는 팝업 차단기가 이를 차단할 것입니다. 창은 직접적인 사용자 동작에 의해서만 열릴 것입니다.

팝업과 관련된 일반적인 지침들

  • 팝업 창 중단 시 리디렉트하지 마십시오.
  • 팝업 창, 다운로드, 또는 ActiveX 컨트롤이 제한된 상황에서 브라우저 창을 닫거나 자동으로 리디렉트하지 마십시오. 그렇게 하면 알림 표시줄에서 클릭을 통해 팝업 창이나 다운로드, ActiveX 컨트롤을 다시 살펴볼 수 없습니다.
  • 팝업 창에서 팝업 창을 시작하지 마십시오.
  • 사용자의 경우 한 번에 여러 개의 팝업 창을 시작하지 마십시오.
  • showModelessDialog()showModalDialog() 호출을 통해 자동 팝업 창을 시작하지 마십시오.

웹 사이트는 MSJVM(Microsoft Java Virtual Machine)에 의존합니까?

마이크로소프트 웹 사이트, Microsoft Java Virtual Machine Support를 참조하십시오.

브라우저 창 제한

제목 표시줄이나 주소란이 상단에 위치하도록 하거나 알림 표시줄이 하단에 위치하도록, 웹 사이트가 창의 위치를 지정할 수 있습니까?

코드를 검토하여 자신이 window.open()window.createPopup() 메서드을 사용하며 스크립트를 통해 시작되는 창에 대한 제한 사항을 잘 파악하고 있는지 알아 보십시오. 스크립트는 Internet Explorer 창을 생성하기 위해 같은 메서드를 호출할 수 있습니다. 그러나 팝업 창이 사용자에게 적절하게 보이고 알림 표시줄에 정확한 정보가 들어 있는지 확인하기 위해 디자인을 검토해야 할 수도 있습니다.

다음은 Windows Restrictions Security 기능을 실행하는 과정에서 스크립트를 통해 시작되는 창 호출을 제대로 수행하기 위한 지침입니다.

window.open()을 사용해 열린 창의 경우:

  • 알림 표시줄이 나타나길 기다려 코드 처리합니다. 알림 표시줄이 기본값으로 나타날 것이며 높이는 약 20-25 픽셀입니다.
  • 창의 크기와 콘텐츠를 조정하여 창의 전체 크기와 내용들이 잘 조화되도록 합니다. 창은 도구 모음을 포함하지 않을 것이기 때문에 알림 표시줄이 나타나고 도구 모음이 나타나지 않는 경우 40픽셀을 잃게 될 것입니다. 도구 모음 바깥쪽으로 30픽셀이 넘지 않게 창의 길이를 조정하십시오.
  • off-screen으로 창을 열지 마십시오 - 이들은 창이 표시되는 화면 전체에 나타나도록 하는 X와 Y 의 가장 작은 오프셋에 의해 움직일 것입니다.
  • 창의 모양의 주제나 글자 크기, 해상도 등의 영향을 받을 것입니다. 따라서 창을 디자인할 때 이러한 UI의 영향을 고려해야 할 수도 있습니다.
  • 참고: window.open() with fullscreen=yes는 Kiosk 모드 창이 아닌 최대화 창에서 표시될 것입니다.

window.createPopup()를 사용해 열린 창의 경우:

  • 창의 크기와 콘텐츠를 조정하여 창의 전체 크기와 내용들이 잘 조화되도록 합니다. 새로운 기능을 활용해 이 창은 부모 창의 제목 표시줄이나 알림 표시줄을 표시하지 않을 것입니다. 따라서 제목 표시줄이나 알림 표시줄이 나타나지 않는 경우에는 40픽셀을 잃을 수도 있습니다. 현재 보이는 페이지보다 더 크지 않은 범위에서 창의 길이를 조정하십시오.
  • Internet Explorer의 외양을 렌더링하는 HTML 밖에서 크롬리스(chromeless) 창을 열지 마십시오- 이들은 창이 클라이언트 영역 내에서 전부 다 표시되도록 하는 X와 Y의 가장 작은 오프셋에 의해 이동될 것입니다. 다만 한 가지 예외가 있습니다: 창의 절반이 Internet Explorer 클라이언트 영역의 왼쪽 또는 오른쪽 경계 부분 바깥쪽에 위치하는 경우입니다.
  • 창의 모양의 주제나 글자 크기, 해상도 등의 영향을 받을 것입니다. 따라서 창을 디자인할 때 이러한 UI의 영향을 고려해야 할 수도 있습니다.

일반 팁

SP2의 Internet Explorer인지 확인하는 방법

window.navigator.userAgent를 사용하여 사이트에 연결되어 있는 브라우저가 SP2의 Internet Explorer인지를 확인할 수 있습니다.

var g_fIsSP2 = false; 
function browserVersion() { 
	g_fIsSP2 = (window.navigator.userAgent.indexOf("SV1") != -1); 
	if (g_fIsSP2) { 
 		//This browser is Internet Explorer in SP2. 
	} else { 
		//This browser is not Internet Explorer in SP2. 
	} 
}

사용자 에이전트 문자열에 "SV1"가 들어 있다면, 사이트에 연결되어 있는 브라우저는 SP2의 Internet Explorer입니다.

사이트에서 showModelessDialog()나 showModalDialog() 호출을 사용합니까?

ActiveX 컨트롤의 새로운 인스턴스를 생성하거나, 자동으로 파일 다운로드를 실행하거나, 또는 대화 상자에서 자동으로 팝업 창을 실행하지 마십시오. 알림 표시줄은 이런 상황에서 콘텐츠가 제한되는 경우 나타나지 않을 것입니다. 그리고 이 경우 사용자들은 쉽게 콘텐츠를 허용하지 못할 것입니다. Internet Explorer 창에서 이러한 작업들을 시작하는 것이 권장되는 해결 방법입니다.

콘텐츠가 차단될 때 사이트가 다른 웹 페이지로 리디렉션됩니까?

브라우저가 ActiveX 컨트롤, 다운로드 요청 창, 팝업 등과 같은 콘텐츠를 제한할 때 다른 웹 페이지로 리디렉션을 시도하지 마십시오. 콘텐츠가 제한되는 경우 리디렉션된 페이지에 알림 표시줄이 나타나지 않을 수도 있습니다. 그리고 이렇게 되면 사용자가 쉽게 콘텐츠를 살펴 볼 수 없게 됩니다.