IE8은 로컬 하드 드라이브에서 Javascript 실행을 거부합니다


4

최근에 직장에서 시작한 문제가 있으며 네트워크 관리자는 그룹 정책으로 아무것도 변경하지 않았다고 확신합니다. 어쨌든 여기에 문제에 대한 자세한 설명이 있습니다.

내 컴퓨터는 Windows XP SP3이며 IE8을 사용하여 탐색합니다. 구성 할 수없는 McAffee 안티 바이러스 소프트웨어가 있습니다. 다음 파일을 사용하여 테스트합니다 ...

<!DOCTYPE html>
<html>
  <head>
    <title>Javascript Test</title>
  </head>
  <body>
    <script type="text/javascript">
      document.write("<h1>PASS</h1>");
    </script>
    <noscript>
      <h1>FAIL</h1>
    </noscript>
  </body>
</html>

C : 드라이브에서이 파일을 열 때 마다 실패 합니다 . 다른 곳 (로컬 / 원격 웹 서버 또는 매핑 된 네트워크 드라이브)에서 실행하면 정상적으로 작동합니다. 인터넷을 탐색 할 때 웹 사이트의 Javascript가 제대로 작동합니다. 그것은되는 단지 내 C에서 실행 파일에 실패 : 드라이브. 또한 부서의 다른 프로그래머 두 명이 C : 드라이브에서이 파일을 시도해 보았으므로 제대로 작동합니다. 그룹 정책이라고 생각하지 않습니다.

C : 드라이브에서 광범위한 테스트를 수행하므로이 문제를 해결해야합니다. 테스트하기 위해 파일을 다른 드라이브로 옮기는 습관을 들이고 싶지 않습니다.

내가 시도한 것 :

  • 옵션에서 "액티브 콘텐츠가 내 컴퓨터에서 파일을 실행하도록 허용"활성화 | 고급 | 보안
  • 옵션에서 "액티브 스크립팅 허용"사용 | 보안 | 사용자 설정 레벨
  • 개발자 툴바에서 "스크립트"가 비활성화 된 것으로 확인되지 않았습니다.
  • 옵션의 신뢰할 수있는 사이트에 localhost 추가
  • McAffee를 완전히 비활성화 (순간적으로 네트워크 관리자의 도움으로)
  • 테스트 HTML 페이지에서 이전 DOCTYPE을 사용했습니다.
  • IE8을 완전히 다시 설치
  • regsvr32있는 JScript.dll에
  • 슬램 키보드

레지스트리 에이 문제를 해결할 수있는 설정이 있다고 확신합니다. 개발자 툴바와 관련이 있다면 놀라지 않을 것입니다. 이 시점에서 나는 다른 곳을 볼 수 없습니다.

누구 든지이 문제를 해결하도록 도울 수 있습니까?

편집 : 현상금에 관계 없이이 문제는 여전히 진행 중입니다.


글쎄, 그것은 WinXP / IE8에서 나에게 잘 작동하므로 (동료와 마찬가지로) 로컬 문제가되어야합니다 (그리고 나는 McAfee를 사용하지 않습니다 :). 보안 소프트웨어를 구성 할 수없는 경우 IT 부서와 대화하십시오.

왜 로컬 웹 서버에서 실행하지 않습니까? 왜 C : 드라이브에서 실행해야합니까?
Mark

1
@Molly 우리는 McAffee를 완전히 비활성화하려고 시도했습니다. 불운. @Mark 꼭 그럴 필요 는 없습니다 . 빠르고 더러운 테스트가 더 쉽기 때문에 원합니다. 그리고 그것은 항상 전에 일해 왔기 때문에 나는 이것을하는 데 매우 익숙합니다.
Josh Stodola

IE는 항상 창 상단에있는 노란색 정보 표시 줄에 "내 컴퓨터"의 JavaScript를 허용하라는 메시지를 표시했습니다 (웹 사이트의 스크립트에는없는 로컬 리소스에 대한 액세스 권한을 부여 하므로 img.skitch의 IE7 화면 캡처) . com / 20100106-khkek2wwscdxmak5x8k3y5gax3.png ). 따라서 컴퓨터에서 위험한 스크립트 실행에 대한 경고가 사라진 것 같습니다 . "모든 경고 재설정"과 같은 것을 찾을 수 있습니까? 그리고 IE7 옵션에는 모든 IE 설정을 재설정하는 버튼이 있습니까? 그리고 IE에서 로컬 XML 파일을 축소 / 확장 할 수 있습니까?
Arjan

그리고 다른 프로그래머들도 정보 표시 줄에서 그 경고를받지 못했습니까? (그래서 : 컴퓨터에서 아무런 프롬프트없이 스크립트를 실행 했습니까?)
Arjan

답변:


4

레지스트리 키 열기

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\n

어디 n영역 인덱스이다 0수단 My Computer. 이 영역은 인터넷 옵션에서 사용할 수 없습니다. Javascript를 사용 1400하려면 값 을 설정하십시오 0.


4

HTML 소스에 "Mark of the Web"을 추가하려고 했습니까?

다음과 같은 것을 추가하십시오.

<!DOCTYPE html>
<!-- saved from url=(0021)http://www.google.com -->
<html>

웹 마크는 DOCTYPE 태그 뒤에 있으며, 바로 앞의 별도 줄에 있습니다 <html>.

전체 도움말은 Mark of the Web 의 MSDN 설명서를 참조하십시오 .


좋은 생각이야 여전히 해결 방법이지만 좋은 생각입니다!
Arjan

... 보안 정책, IE 설정에 대한 변경이 필요하지 않습니다.
AlexV

1
작동하지만 절름발이입니다. 감사합니다 :)
Josh Stodola

1
왜 절름발이입니까? 한 페이지에 대해서만 전체 시스템의 보안 수준을 낮추는 것보다 낫습니다 (때로는 불가능한 경우도 있음). 웹 마크가 여기에 있으며 이러한 종류의 "문제"IMO를위한 최상의 솔루션입니다. 절름발이가 있으면 IE입니다! :)
AlexV

1
@kentaromiura : 불과 1 년 늦었지만 OP 문제는 file : //을 사용할 때만 발생하므로이 경우에는 매우 적합한 솔루션입니다.
AlexV

1

컴퓨터에 회사 보안 정책이 적용되는 경우 Java 스크립트를 테스트 하기 위해 가상 머신 (예 : Virtual Box 또는 MS Virtual PC 사용 )을 설정하는 것이 좋습니다.

Microsoft는 Vista 또는 XP 및 IE6, 7 및 8과 함께 사전 활성화 된 다양한 가상 하드 드라이브 (VirtualBox 및 VPC와 함께 작동)를 제공합니다. Internet Explorer 응용 프로그램 호환성 VPC 이미지 는 무료이며 현재 세트는 2010 년 4 월 1 일까지 유효합니다 .


2
내 해결 방법 옵션을 이해하고 있으며 몇 가지 옵션이 있습니다. 그러나 내가 정말로하고 싶은 것은 이것이이 특정 컴퓨터에서 작동하지 않는 이유를 알아내는 것입니다. 내 질문과 다른 의견에서 언급했듯이 데스크탑에서 빠르고 더러운 Javascript 테스트를 작성하는 데 익숙해졌습니다. 나는 적어도 2000 년부터 해왔다. 그것은 깰 힘든 습관과 때 저를 틱 나는 내가 특정 기계 나에게 힘든 시간을 제공하기로 결정해서 작업 방식을 변경해야합니다. 어리 석고 이상적이지 않습니다. 해결책이 있어야합니다.
Josh Stodola

문제는 McAfee 보안 제품군과 관련이있을 수 있습니다 (구성 할 수 없습니까?). 다시 말하지만 McAfee가없는 가상 머신을 찾는 빠른 방법 중 하나입니다. 내 말은, 주 용의자를 제거 할 수 없다면 실제 문제 해결이 가능하지 않습니까?

@Molly는 질문에 대해 언급 한 것처럼 이미 McAffee를 완전히 비활성화하려고 시도했습니다. 또한 제 동료는 동일한 McAffee "정책"하에 있으며 모든 것이 기계에서 예상대로 작동합니다. 내가 시도한 whay를 포함하도록 질문을 업데이트 할 것입니다. 감사!
Josh Stodola

"비활성화 시도"는 매우 독창적 인 표현입니다. 회사에 동일한 기계가 있습니까? 가능하다면 머신에 복제하십시오. 복제에 대해 말하고 전체 드라이브 이미지를 만든 다음 원인에 관심이있는 경우이를 분리하기 시작하십시오. 비용이 많이 들지 않으며 전문적인 호기심을 만족시키기 위해 할 것입니다.

다시 말해서 ... 관리 권한을 사용하여 내 컴퓨터의 모든 McAffee 서비스를 완전히 비활성화했지만 문제가 해결되지 않았습니다. 두 명의 동료가 나와 동일한 시스템을 가지고 있으며 문제가 없습니다. 분명히 내 개인 설정이 내 사용자 프로필에 저장되어 있기 때문에 동일하게 확장하고 있습니다. 나는 동일한 기계 중 하나에 사인을 시도했지만 그렇게 할 때 모든 것이 잘 작동합니다. 문제는이 컴퓨터에 완전히 국한되어 있으며 Visual Studio와 같은 앱에 대한 모든 로컬 설정을 잃어 버릴 수 있으므로 고스트 할 수 없습니다. 감사합니다 :)
Josh Stodola

1

이 문제가있는 다른 사람을 알고 있으므로 조사했습니다.

오류를 복제하기 위해 많은 노력을 기울인 후 범인을 발견했습니다.

이것을 읽으십시오 : http://social.answers.microsoft.com/Forums/en-US/InternetExplorer/thread/2a0b55bf-6807-4f72-b10c-53f958af9b42http://social.technet.microsoft.com/Forums/ko -US / w7itprosecurity / thread / 90c3202c-448b-42b7-acf7-dab8dba7b000

인터넷 영역에 문제가있는 것 같습니다 (바이러스 또는 일부 소프트웨어 업데이트).

문제를 해결하기 위해 모든 레지스트리를 내보내고 편집기 (ultraedit)를 사용하여 "{Exadecimal-USER-IDENTITY} ... \ Internet Settings \ Zones \ L"과 같은 키를 찾은 "\ Internet Settings \ Zones \"를 검색했습니다. L은 위첨자 L처럼 표시되는 이상한 문자입니다. 키를 삭제하면 자바 스크립트가 다시 시작됩니다.


0

도움이 될만한 두 가지 생각은 다음과 같습니다.

test.hta로 이름을 바꿉니다. 일반 HTML 대신 HTML 응용 프로그램으로 시작됩니다. HEAD 요소 내부에 몇 가지 속성이있는 <HTA : APPLICATION>을 추가해야 할 수도 있지만 챔피언처럼 작동해야합니다. HTA에 대한 자세한 내용은 여기 ( http://msdn.microsoft.com/en-us/library/ms536496.aspx)를 참조 하십시오.

로컬 웹 서버를 사용하여 파일 시스템 문제를 해결할 수 있습니까? Visual Web Developer Express를 설치하는 경우 테스트에 사용할 수있는 웹 서버와 함께 제공되거나 IIS (WinXP Pro 인 경우), Apache 등을 항상 설치할 수 있습니다.


.hta작동 하도록 변경 했지만 Internet Explorer에서 열리지 않습니다. 해결 방법 옵션을 알고 있지만 궁극적으로 HTML 파일 내의 C : 드라이브에서 JS를 실행해야합니다.
Josh Stodola

HTA는 동일한 렌더링 엔진 및 동일한 Windows 스크립팅 호스트를 사용하여 Internet Explorer와 같은 JavaScript 지원을 제공합니다. Internet Explorer에서 열어야하는 이유는 무엇입니까? 기술적으로 iexplore.exe를 시작하지는 않지만 더 느슨한 보안 제한이있는 브라우저에서와 동일한 방식으로 효과적으로 실행되고 있다고 주장합니다. 다른 브라우저 또는 다른 운영 체제에서 의도적으로 실행 해야하는 경우 요구 사항이 발생하지만 질문이나 의견으로는 볼 수 없습니다.
Goyuix

결론 : 이것은 해결 방법입니다. 나는 해결책의 팬이 아닙니다. 나는 근본적인 문제를 이해할 때까지 잠을 자지 않을 것입니다. 프로그래머에게는 자연스러운 행동이라고 생각합니다. 개인적으로 다루지 마십시오 . 해결 하고 싶지 않은 문제가 있습니다.
Josh Stodola

0

DCOM 설정 편집

실행으로 이동하여 dcomcnfg를 입력하고 구성 요소 서비스에서 내 컴퓨터를 마우스 오른쪽 단추로 클릭 한 후 특성으로 이동하십시오. 그런 다음이 컴퓨터에서 기본 속성 및 COM 인터넷 서비스 사용으로 이동하십시오. 또한 기본 인증 수준이 연결로 설정되어 있고 가장 수준이 식별로 설정되어 있는지 확인하고 확인하십시오.


Darn, 나는 이것이 효과가 있다고 생각했지만 주사위는 없습니다. 문제가 여전히 존재합니다. 그러나 답변 주셔서 감사합니다!
Josh Stodola

당신은 후에 재부팅 했습니까?
jburke

아니요,하지 않았지만 시도해 볼 것입니다.
Josh Stodola

일반적으로 재부팅 할 때까지 일반적으로 dcom 설정이 적용되지 않습니다. 행운을 빕니다!
jburke

재부팅을 시도했지만 여전히 운이 없습니다. Darn :(
Josh Stodola

0

인터넷 옵션 / 보안 탭 / 인터넷 / 사용자 정의 버튼으로 이동 한 후 기타 섹션으로 스크롤하면 IE8에서 JavaScript 엔진을 제어하는 ​​여러 항목이 있습니다.

컴퓨터에서이 기능을 사용하는 컴퓨터에서 이들을 비교할 수 있습니다.

이것으로 문제가 발견되지 않으면
gpedit.msc / 로컬 컴퓨터 정책 / 컴퓨터 구성 / 관리 템플릿 / Windows 구성 요소 / Internet Explorer 에서도 동일한 작업을 수행 할 수 있습니다 .
여기서 "Internet Explorer"를 마우스 오른쪽 단추로 클릭하고 모든 설정을 텍스트 파일로 내보내 두 컴퓨터 간의 설정을 비교하는 데 도움이됩니다.


0

이것이 도움이되지 않을 것이라고 생각하지만 로컬 스크립트가 실행되도록 레지스트리 키를 확인 했습니까?

HKCU \ 소프트웨어 \ Microsoft \ Internet Explorer \ 기본 \ FeatureControl \ FEATURE_LOCALMACHINE_LOCKDOWN

오른쪽 창에서 iexplore.exe라는 새 REG_DWORD를 만들고 0으로 설정하십시오.

값 :

0 - Allows a Web page to run active content in your computer
1 - Disallows a Web page from running active content in your computer

이 문서에는 다음과 같은 다른 관련 레지스트리 키가 포함되어 있습니다.

http://msdn.microsoft.com/en-us/library/ms537183(VS.85).aspx#registry


고맙지 만 DWORD가 이미 존재하고 0으로 설정되었습니다. (
Josh Stodola

그래도 다른 레지스트리 항목을 살펴볼 것입니다. 링크 주셔서 감사합니다!
Josh Stodola

0

신뢰할 수있는 사이트 영역에 로컬 드라이브를 추가 할 수 있는지 잘 모르겠습니다.

영역에 대한 제한 사항을 확인하고이를 사용자 지정 수준으로 설정하고 스크립팅 및 ActiveX와 관련된 모든 옵션을 활성화해야 합니다. 가장 낮은 수준 (사전 설정 설정)에도 여전히 적용되는 제한이 있기 때문입니다.

IE6과 비슷한 문제가 있었고 기본 영역 (인터넷)의 모든 제한을 제거하여 문제를 해결할 수 있습니다. 어떻게 든 신뢰할 수있는 사이트에 파일을 추가 한 경우 영역을 "사용자 지정 수준"으로 설정해야합니다.

이 설정이 확실하게 활성화해야한다고 생각합니다.

스크립팅에 안전한 것으로 표시되지 않은 ActiveX 컨트롤을 초기화하고 스크립팅합니다. - "안전하지 않은 것으로 표시"및 "표시되지 않음"모두에 영향을줍니다.


신뢰할 수있는 사이트 영역에 C :를 추가 할 수 없습니다. 바보 같은 잘못된 와일드 카드 시퀀스 메시지를 제공합니다. 모든 ActiveX 설정을 동료와 비교 한 결과 동일합니다.
Josh Stodola

0


Internet Explorer 8 설치 문제를 해결하는 방법 에있는 Microsoft 도구를 사용하여 IE8 설치를 확인할 수 있습니다 .

이 문서에는 Fix ItIE8에 대한 일반적인 문제 해결을 수행 하는 단추가 포함되어 있습니다 .

나는 인용한다 :

Internet Explorer 8 설치 문제는 다른 문제로 인해 발생할 수 있습니다. 따라서 문제를 해결하는 데 사용할 수있는 몇 가지 문제 해결 방법이 있습니다.

이 문제를 자동으로 해결하려면이 문제 해결 링크를 클릭하십시오. 그런 다음 파일 다운로드 대화 상자에서 실행을 클릭하고이 마법사의 단계를 따르십시오.

이렇게해도 문제가 즉시 해결 되더라도 재부팅하고 다시 확인해야합니다. 문제가 반환되면 GPO 문제 일 수 있습니다.

또한 흥미로운 스레드가 발견되었습니다
.IE8 업데이트 후-모든 로컬 실행에 대한 파일 보안 경고 열기 .

나는 인용한다 :

레지스트리, 인터넷 및 알코올 (농담)로 많은 시간을 보낸 후에 문제의 원인을 찾은 것 같습니다. :) 특정 레지스트리 키의 값을 앞뒤로 전환하여 문제를 재현 할 수 있기 때문에 소스의 출처임을 확신합니다. 궁금한? :) 좋아, 여기에 우리는 간다 :

다음 레지스트리 키가 문제를 일으키는 것으로 확인되었습니다. [HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Lockdown_Zones \ 0]

KB182569 ( http://support.microsoft.com/kb/182569 ) 에 따르면 이 키는 "기타 : 응용 프로그램 및 안전하지 않은 파일 시작"을 담당합니다.

같은 기사에서도 다음과 같이 지정합니다. "참고 달리 언급하지 않는 한, 각 DWORD 값은 0, 1 또는 3과 같습니다. 일반적으로 0을 설정하면 허용되는대로 특정 동작이 설정되고, 1을 설정하면 프롬프트가 표시됩니다. "3"으로 설정하면 특정 동작이 금지됩니다. "

"1806"dword 값을 "0"으로 설정 한 다음 작업 관리자를 사용하여 "탐색기"작업을 종료하고 다시 시작하면 문제가 사라 졌다는 것을 알았습니다. 값을 "1"로 다시 변경하고 탐색기를 다시 종료 / 시작한 경우 문제가 발생한 것입니다.

이제 시스템에서 적용된 GPO를 검색하기 시작했으며이 값을 "1"로 설정하여 사용자에게 메시지를 표시하는 것을 발견했습니다. GPO 내 [사용자 구성 / 관리 템플릿 / Windows 구성 요소 / Internet Explorer / 인터넷 제어판 / 보안 페이지 / 로컬 컴퓨터 영역 잠금 / 프로그램 및 안전하지 않은 파일] 섹션에서 설정합니다.

내가 말했듯이, 이것이 내 문제의 원인이며 이제는 문제를 해결하는 방법을 알고 있습니다. 그러나 이상한 점은 동일한 GPO가 IE7 시스템에 적용되고 문제가 발생하지 않는다는 것입니다. GPO에 대한 설명에 따르면이 기능은 IE7부터 지원되었습니다.

프로그램 및 안전하지 않은 파일 실행

사용자 구성 / 관리 템플릿 / Windows 구성 요소 / Internet Explorer / 인터넷 제어판 / 보안 페이지 / 잠겨진 로컬 컴퓨터 영역 지원되는 켜기 : Internet Explorer 7.0 이상 설명이 정책 설정은 "파일 열기-보안 경고"프롬프트가 표시되는지 여부를 제어합니다. 실행 파일 또는 기타 안전하지 않은 파일을 시작할 때

예를 들어, 사용자가 Windows 탐색기를 사용하여 인트라넷 파일 공유에서 실행 파일을 실행하는 경우이 설정은 파일을 열기 전에 프롬프트가 표시되는지 여부를 제어합니다.

이 정책 설정을 사용하고 드롭 다운 상자를 사용으로 설정하면 보안 프롬프트없이 파일이 열립니다. 드롭 다운 상자가 프롬프트로 설정되어 있으면 파일을 열기 전에 보안 프롬프트가 표시됩니다.

이 정책 설정을 사용하지 않으면 파일이 열리지 않습니다.

이 정책 설정을 구성하지 않으면 사용자가 프롬프트 동작을 구성 할 수 있습니다. 기본적으로 실행은 제한 영역에서 차단되고 인트라넷 및 로컬 컴퓨터 영역에서 활성화되며 인터넷 및 신뢰 영역에서 프롬프트로 설정됩니다.

따라서 기능에 대한 설명과 내가 경험 한 내용에 따라 IE7 이이 기능을 잘못 처리하고 IE8이 마침내 올바르게 처리한다는 결론에 도달했습니다. 이것은 IE8 업데이트로 인해 기능이 나타나는 이유를 설명합니다.


0

Internet Ooptions문제를 해결할 수 있는 유일한 방법은 로컬 호스트 로 이동 하여 신뢰할 수있는 영역에 배치하는 것입니다.하지만 많은 문제가 발생할 수 있으므로 권장하지는 않습니다.

난 당신이 중 하나를 설치하는 것이 좋습니다 아파치 , WAMP 서버 (패키지를 사용하기 쉬운 아파치를 포함) 또는 IIS / 웹 플랫폼 설치를 (패키지를 사용하기 쉬운 IIS를 포함).

그런 다음 설정 방법에 따라 http : // computer_name을 통해 사이트에 액세스 하거나 인트라넷 또는 이와 유사한 DNS 항목을 추가로 설정할 수 있어야합니다 . 이 스크립트에 액세스해야하는 컴퓨터가 여러 대있는 경우 업데이트 및 기타 모든 작업이 훨씬 간단 해집니다.

편집하다 -

인터넷 옵션에서이 설정을 확인하십시오-

대체 텍스트


신뢰할 수있는 사이트에 localhost를 추가해도 작동하지 않습니다. 서버를 설정할 수 있다는 것을 알고 기본 개발에 서버를 사용합니다. 그러나 때로는 빠르고 더러운 테스트 (경우에 따라이 웹 사이트의 질문에 답변하기 위해!)를 작성하여 바탕 화면에 저장하여 쉽게 실행하고 삭제할 수 있습니다. 나는 이것을하는 데 익숙해졌으며 이것을 제외한 다른 모든 컴퓨터에서 잘 작동합니다. 뭔가 문제이며,이를 해결하는 방법이 있어야합니다.
Josh Stodola

Windows / Internet Explorer의 버전 일 수 있습니까? javascript가 로컬에서 차단 된 것은 XP의 SP2 이후입니다.
윌리엄 힐섬

... 업데이트 됨-점검 했습니까 -i50.tinypic.com/29vcx15.jpg
William Hilsum

@ 네, 질문에 언급했습니다. 나는 질문에서 시도한 몇 가지 사항을 더 포함시켰다.
Josh Stodola

-1
  1. Internet Explorer를 시작하십시오.
  2. 도구 메뉴에서 인터넷 옵션을 클릭하십시오.
  3. 고급 탭에서 재설정을 클릭하십시오.
  4. Internet Explorer 설정 재설정 대화 상자에서 재설정을 클릭하여 확인하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.