9

Internet Explorer의 현재 보안 영역 설정을 프로그래밍 방식으로 결정하는 방법이 있습니까?현재 Internet Explorer 보안 영역 감지

내 사이트에 IE 보안 정책으로 인해 차단 된 XMLHttpRequest ActiveX 컨트롤이있을 때를 알고 싶지만 사이트가 실제로 사이트를 만들려고하기 전에 노란색 막대가 위쪽에 나타납니다 ("To Internet Explorer가이 웹 페이지에서 사용자 컴퓨터에 액세스 할 수있는 스크립트 나 ActiveX 컨트롤을 실행하지 못하도록 제한했습니다. ")

감사합니다.

답변

-1

참고 : 허용 된 답변을 삭제할 수 없지만 this answer useful을 찾을 수 있습니다.

원래 대답은 : 보안 영역을 검출하는 자바 스크립트에는 손잡이가 없습니다

IE에서 사용하는.

당신이해야 할 일을하기 위해 document.location을 확인하고 그로부터 보안 영역을 결정할 수 있습니다.

+0

URL에서 인트라넷 영역을 어떻게 식별 할 수 있습니까? 이 계정은 다른 영역에 추가 된 사이트를 어떻게 고려합니까? 또는 영역 제한이 변경됩니까? –

+0

사용자 지정 보안 영역 정보에 액세스 할 수 없지만 일반적인 결정을 내릴 수는 있습니다. – Fenton

0
내 사이트 때문에 IE의 보안 정책에 차단 XMLHttpRequest의 ActiveX 컨트롤을해야합니다 때 알고 싶습니다

당신은 당신은 당신이 이후에 무엇인지 영역 알지 못했다 수없는 경우에도 영역 별 설정을 읽을 수 없으며 IE6SP2에서 ActiveX에 영향을주는 설정이 영역별로 구성 할 수 없습니다. (IE7은 더 많은 컨트롤 관련 설정을 가지고 있습니다.)

XMLHttpRequest를 추측하여 노란색 바를 피할 방법이 없다는 것을 알고 있습니다. 새로운 XMLHttpRequest() 호환되지 않는.

1

Windows 사용자는 어떤 프로토콜이 어떤 영역에서 처리되는지 스스로 결정할 수 있기 때문에 보안 영역은 중요하지 않습니다. 예를 들어 전체 http 및 전체 https 영역을 신뢰할 수있는 사이트 영역 (영역 2)에 추가했습니다. 키를 통해 수행됩니다.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet  Settings\ZoneMap\ProtocolDefaults 

javascript를 통해 document.protocol을 확인할 수 있지만 어떻게 도움이 될까요?

if (document.protocol == "HTTP (HyperText Transfer-Protokoll)") 

인터넷 영역이라고 가정하지만 내 컴퓨터에서는 자체 보안 설정이 완료된 신뢰할 수있는 영역입니다. jscript는 각 영역에 대한 개별 보안 설정 값을 가져올 수 없도록합니다.

바보 같은 노란 막대를 사용하지 않고 activex 개체를 실행할 수 있지만 안전한 개체 목록에 com 개체 guids를 추가해야합니다. 이 작업은 레지스트리를 통해 수행됩니다. Flash activex, wmp activex 및 stuff와 같은 어리석은 쓸모없는 쓰레기 개체를 제외한 대부분의 개체는 안전하지 않습니다.

9

IE7에서는 다음 JavaScript를 사용하여 사이트의 신뢰 여부를 확인할 수 있습니다.

window.status = "test"; 
if (window.status == "test") 
    alert("Trusted, or local intranet"); 
else 
    alert("Not trusted, or internet"); 

IE7 이상에서는 스크립트가 더 이상 인터넷 및 제한된 영역의 window.status 메서드를 통해 상태 표시 줄 텍스트를 설정할 수 없다는 사실을 기반으로합니다.Release Notes for Internet Explorer 7