평소 별로 관심을 가져보지 못하던 영역의 자료가 올라와서 한번 살펴보았습니다.
웹쪽과는 인연이 없다보니 잘 살펴보지 않는 영역의 자룐데, 잘 정리된걸 보니 이뿌네요 ㅜㅜ;
취미로 해보기엔 좀 벅차고, 일로 떨어지면 헤딩이라도 해볼텐데.. ^^;;;
익스플로러 보안설정 변경 | ActiveX/COM | 2008-12-22 오후 5:21:55 |
최재권 (houseman) / 등록자 IP: xxx.xxx.244.109 | 번호: 8208 / 평점: (9.0) / 읽음:187 |
인터넷 익스플로러의 보안 설정 변경 관련.
1. 신뢰할수 있는 사이트 추가. 2. 구역별 보안등급 변경. 3. 임의의 선택한 보안 수준 변경.
1. 신뢰할수 있는 사이트 추가. & 2. 구역별 보안등급 변경.
HRESULT hr;
// Zone Enumerator를 초기화한다.
// 2번 존에 대한 정보를 얻는다. 2번 존이 신뢰할 수 있는 영역 존이다.
// 지금 예제는 보통의 HTTP 사이트를 등록하는 것이기 때문에 HTTPS만을 등록해야 하는 제약 조건을 없앤다.
// 현재 보안 설정이 낮음이 아니면 낮음으로 설정한다.
// 이 값을 유니코드로 변경한다.
-------------------------------------------------------------------------------- 위의 코드는 한기용(Keeyong@wisenut.com)님의 코드를 그대로 인용 하였음.
1,2 의 내용만으로 거의 모든 문제가 해결되리라 생각된다. 그러나 몇몇 보안 관련 부분은 보안 등급을 최소로 해도 문제가 해결되지 않는 경우가 있다. 이 경우엔 직접 원하는 보안관련 설정을 원하는 수준으로 변경 해야만 한다. 대표적인 예가 "안전하지 않은 것으로 표시된 ActiveX 컨트롤 초기화 및 스크립트"이다. 때때로 사소한 ActiveX들이 필요한 경우가 있는데 이런것들을 매번 서명을 받기도 번거로운 일이다. 이러한 문제를 해결하기위해서 보안수준을 변경할 필요가 있다.
이 항목을 직접 변경하는 코드를 살펴보자.
3. 임의의 선택한 보안 수준 변경. CRegKey reg; // #include <Atlbase.h> if(reg.Open(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2") == ERROR_SUCCESS) if(reg.Open(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2") == ERROR_SUCCESS)
----------------------------------------------------------------------
위의 예제는 [신뢰할수 있는 사이트>안전하지 않은 것으로 표시된 ActiveX 컨트롤 초기화 및 스크립트 => 사용] 으로 레지스트리를 직접 변경하는 코드이다.
그러나, 한기용(Keeyong@wisenut.com)님의 글에서는 레지스트리를 직접 편집하는것은 좋지 않은 방법이라고 설명하고 있다. 그 이유를 다음과 같이 설명하고 있다. --------------------------------------------------------------- 그 이유는 다음 버전의 IE에서도 레지스트리의 이 항목들을 URL 보안 관련 정보를 저장하는데 사용한다는 보장이 없기 때문이다. 따라서 URL 보안 영역 관련 인터페이스를 사용하는 것이 좋다. ---------------------------------------------------------------
따라서, 방법의 선택은 독자의 몫이다.
※ Zones > 2 는 신뢰할수 있는 사이트를 나타낸다.
※ 똑같은 내용이 hkey_local_machine과 hkey_current_user 두곳에 존재하는데 필자는 그 차이를 모르겠다. 따라서 두곳 모두 바꾸어 준다. 그러나 테스트 결과 hkey_current_user만 수정해도 무방하였다.
※ SetValue의 첫번째 파라미터는 값을 나타낸다. 0:허용 1:확인 3:사용안함
※ SetValue의 두번째 파라미터는 값이름을 나타낸다. (1201 : 안전하지 않은 것으로 표시된 ActiveX 컨트롤 초기화 및 스크립트)
참조
MSDN참고: http://technet.microsoft.com/ko-kr/library/cc700750.aspx
※ 보안관련 수정 내용은 새로 시작되는 익스플로러부터 적용된다. ---------------------------------------------------------------------------------------------- 최재권 jk9053@nate.com |