팝업창이 차단되면 window.open()함수는 리턴 값으로 null을 반환하므로 이를 이용해 차단 여부를 알 수 있다.
아래 내용이 팝업창 차단을 확인해 그 여부를 알려주도록 수정된 자바스크립트 코드다.

수정 전
<script language = "javascript" >
function onLoad()
{
var objPopup = window.open("popup.htm", "");
location.href = "other.html";
}
</script>
<body onload= "onLoad()" >

수정 후
<script language = "javascript">
function onLoad()
{
var objPopup = window.open("popup.htm", "");
if (objPopup == null) {
alert("차단된 팝업창을 허용해 주십시오.");
}
else {
location.href = "other.html";
}
}
</script>
<body onload= "onLoad()" >

예를 들어 팝업창을 자동으로 띄우고 원래 페이지가 다른 페이지로 이동한다거나 창을 닫거나 하는
경우가 있으면 팝업창 차단 여부를 확인하도록 스크립트를 바꿔야 한다.




액티브X 컨트롤 자동 설치 차단과 해법
웹사이트를 돌아다니다 보면 직사각형의 보안 경고창을 흔히 볼 수 있다.
이것은 웹페이지에 추가적인 기능을 부여하는 액티브X 컨트롤을 다운로드 하기 위한
확인창이라 할 수 있다. 대부분의 사용자들이 직관적으로 예를 누르기 때문에
이를 이용하면 악의적인 코드를 담고 있는 프로그램을 PC에 설치할 수 있어 많은 문제가 돼 왔다.

이번 XP 서비스팩2에서는 아예 이러한 창 자체가 뜨지 않는다.
즉 액티브X 기능을 포함하는 페이지의 경우, 현재 보고 있는
페이지에 액티브X가 포함돼 있으며 설치하려면 사용자가 직접
선택하라는 메시지가 '알림 표시줄'에 뜬다.

현재 우리나라에서는 온라임 게임 뿐 아니라 인터넷 뱅킹, 전자 지불, 사이버 트레이딩에
기본적으로 인증용 액티브X가 사용되고 있다는 측면에서 학습되지 않은 사용자들의
고객 문의 폭주가 예상된다고 하겠다. 웹페이지는 정상적으로 표시되지만 액티브X 컨트롤이
안 깔려 있는 상황에서는 알림 표시만 하고, 기능이 정상적으로 동작하지 않게 되기 때문이다.

예를 들어 국세청의 홈택스 서비스의 경우 2~3개 회사의 여러 액티브X가
웹페이지에 포함돼 있어 하나를 설치하더라도 사용자는 메시지를 보내는
알림 표시줄을 통해 아직 설치하지 않은 액티브X를 설치해야 한다.
이럴 경우 아래와 같이 소스코드를 변경해 설치 여부를 확인, 안내 페이지로
옮겨줌으로써 사이트 방문자들이 수동으로 다운로드해 설치하도록 하는 것이 좋다.


수정 전
<body onload ="checkControl()" >
<object id = "objCtl" classid ="...." codebase="xxx.cab">
</object>
</body>
수정 후
<script language = "javascript" >
function checkControl()
{
If (objCtl == null) {
top.location.href = "error.asp"; //필요한 기능을 설치하는 소개 페이지로 이동합니다
}
objCtl.do();
}
</script>
<body onload ="checkControl()" >
<object id = "objCtl" classid ="...." codebase="xxx.cab">
</object>
</body>


또한 SP2는 이제 신뢰되지 않은 게시자가 배포하는 액티브X 프로그램을 원천 차단함으로써
아예 설치할 수 없도록 변경해버렸다. 액티브X 개발사들은 인증 과정과 비용의 번거러움
때문에 테스트 인증서로 서명한 액티브X를 배포하기도 하였는데, SP2가 설치된 PC에서는
베리사인(VeriSign)과 써트(Thawte) 등 글로벌 인증 기관에서 발행한 인증서로 서명된 코드만 설치된다.

따라서 이전에 코드사인 인증서를 가지고 있지 않은 회사는 인증서를 발급 받아 사용해야 한다.
현재 국내에서는 베리사인과 트와트 양사의 코드사인 인증서를 함께 대행하는
웹사이트(www.thawte.co.kr)가 있기 때문에 안내를 받을 수 있다.
Posted by 알 수 없는 사용자
,