ActiveX 배포 시 해당 사이트를 신뢰 할 수 있는 사이트로 등록해야 할 경우가 있다. 아래의 함수 이용
신뢰 할 수 있는 사이트에 자동등록하기
인터넷 익스플로러의 신뢰할 수 있는 사이트에 웹사이트를 등록하는 소스코드 입니다.
// ------------------------------------------------------------------------------------------------
/*
DESC: 신뢰사이트 등록
PARAM: [IN] LPCTSTR lpszDomain - 도메인 URL
(예) www.naver.com, 211.102.3.11
RETURN:
TRUE - 성공
FALSE - 실패
*/
// ------------------------------------------------------------------------------------------------
BOOL _SetTrustZone(LPCTSTR lpszDomain)
{
USES_CONVERSION;
HRESULT hr;
IInternetSecurityManager* pSM;
IInternetZoneManager* pZM;
DWORD dwEnum, dwZoneCount, dwZone;
ZONEATTRIBUTES za;
int nIndex = URLZONE_TRUSTED;
BOOL bResult = FALSE;
hr = CoCreateInstance(CLSID_InternetSecurityManager, NULL, CLSCTX_ALL,
IID_IInternetSecurityManager, (void**)&pSM);
if(FAILED(hr))
{
return FALSE;
}
hr = CoCreateInstance(CLSID_InternetZoneManager, NULL, CLSCTX_ALL, IID_IInternetZoneManager,
(void**)&pZM);
if(FAILED(hr))
{
return FALSE;
}
dwEnum = 0;
pZM->CreateZoneEnumerator(&dwEnum, &dwZoneCount, 0);
// nIndex가 URLZONE_TRUSTED(2)일 경우가 신뢰할 수 있는 사이트
pZM->GetZoneAt(dwEnum, nIndex, &dwZone);
pZM->GetZoneAttributes(dwZone, &za);
// 신뢰할 수 있는 사이트는 기본적으로 https를 요구하기 때문에 이 속성을 제거
if(za.dwFlags & ZAFLAGS_REQUIRE_VERIFICATION)
{
za.dwFlags &=~ZAFLAGS_REQUIRE_VERIFICATION;
}
// 현재보안 설정이 낮음이 아닐경우 낮음으로 설정
/*
if(za.dwTemplateCurrentLevel != 0x10000)
{
za.dwTemplateCurrentLevel = 0x10000;
za.dwTemplateMinLevel = 0x10000;
}
*/
pZM->SetZoneAttributes(dwZone, &za);
// 해당도메인을 등록 (형변환은 USES_CONVERSION을 이용)
hr = pSM->SetZoneMapping(nIndex, T2OLE(lpszDomain), SZM_CREATE);
if(FAILED(hr))
{
// 실패 오류에 대한 메시지 처리 등등
bResult = FALSE;
}
else
{
bResult = TRUE;
}
if(dwEnum != 0)
pZM->DestroyZoneEnumerator(dwEnum);
pSM->Release();
pZM->Release();
return bResult;
}
'프로그래밍 > C++' 카테고리의 다른 글
wsdl.exe 이용해서 웹서비스 Proxy 클래스 생성하기 (0) | 2012.05.18 |
---|---|
ActiveX 상호 작용을 허용하시겠습니까? 해결방법 - IObjectSafety (0) | 2012.03.28 |
[MFC] CListBox 동적 생성시 이벤트 연결 (2) | 2012.01.30 |
[C++] CAB 파일 작성 시 유의점 (0) | 2011.10.19 |
[MFC] ActvieX 개발 시 참고..~!!! (0) | 2011.10.18 |
댓글