2010-11-26 2 views
2

Google 서비스가 HTTPS를 통해 실행되며 현재 클라이언트 측에만 RPC가 아닌 컴파일 된 GWT 응용 프로그램을 실행하고 있습니다.GWT 응용 프로그램이 IE 안전하지 않은 항목 경고를 생성 함

IFRAME에 포함되어 있으며 권장 사항입니다 (여기서는 예 : http://developerlife.com/tutorials/?p=231, HTTPS 및 HTTP 제목 아래에 있음).

GWT-app 내에서 특정 작업을 수행 할 때 IE는 안전하지 않은 항목 경고를 생성합니다. 내가 HTTP를 통해 될 일을 요청보고 몇 가지 멋진 파이어 폭스 플러그인을 사용하지 않는 이유

http://bagonca.com/insecure_item.png

당신은 자신을 요청할 수 있습니다. 또는 같은 이유로 Internet Explorer에서 HTTPWatch를 사용하지 않는 이유는 무엇입니까? 나는 가지고있다. 내가 어디서든 찾을 수있는 안전하지 않은 요청은 없습니다.

반면에 내가 읽은 것은 Internet Explorer가 src 특성이 설정되지 않은 iframe에 대해이 경고를 throw한다는 것입니다. 잠재적 인 문제는 동적으로 채워지는 모든 iframe에 src = "javascript : false"를 사용하는 것입니다.

내가 말했듯이, 전체 응용 프로그램은 IFRAME을 통해 포함되며 GWT 자체는 아래 보이는 숨겨진 IFRAME을 생성합니다.

<iframe tabIndex="-1" id="gwt-app" src="javascript:''" style="border-bottom: medium none; position: absolute; border-left: medium none; width: 0px; height: 0px; border-top: medium none; border-right: medium none;"> 

위의 src 속성을 실제로 존재하며 동일한 도메인에서 HTTPS로 호출되는 빈 페이지로 하드 코딩하려고 시도했습니다. 나는 자바 스크립트를 시도했습니다 : false; 접근. 불운. 응용 프로그램은 매력처럼 작동하지만 IE는 쓸모없는 거짓 경고를 던집니다.

경고는로드되었을 때가 아니라 앱 내에서 특정 작업을 수행 할 때 나타납니다. 사실 http://code.google.com/p/gwt-calendar/ 구성 요소 내에서 약속을 끌어다 놓을 때.

전에 비슷한 문제가있는 사람이 있습니까? 모든 단서?

답변

2

다른 문제가 발생할 수있는 Javascript 스 니펫이 있습니다. 참조하십시오

http://blog.httpwatch.com/2009/04/23/fixing-the-ie-8-warning-do-you-want-to-view-only-the-webpage-content-that-was-delivered-securely/

덧글의 일부

발견하고도 경고의 다른 원인을 해결 한 :

또한

http://blog.httpwatch.com/2009/09/17/even-more-problems-with-the-ie-8-mixed-content-warning/

은에 대한 의견의 더미를 통해 모습을 가지고있다.

+0

sooo 많은 감사합니다! 게시 한 첫 번째 블로그 기사에 대한 의견에 감사드립니다. http://www.pelagodesign.com/blog/2007/10/30/ie7-removechild-and-ssl/. 우리는 GWT가 CSS 속성 배경 이미지를 url (null)로 설정하는 상황에 처했습니다. IE는 슬픈 팬더였습니다. –

+0

또한 당신에게 도움이 될만한 사람들을 적극적으로 검색하는 HttpWatch에 관심을 가져주세요. –

2

실마리가 있습니까?

이 경우에는 확실하지 않지만 약 1 년 전에 iframe (다소 비슷한 주제)을 실험 해 보았습니다. gwt-calendar는 javascipt의 parent 참조를 통해 호스트 페이지와 통신하려고합니다. 호스트 페이지가 같은 출처 (프로토콜 포함)에서로드되지 않은 경우 AFAIR은 허용되지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 당신은 우리가 부모 참조를 통해 의사 소통하는 꽤 많은 일을한다고 가정 할 때 당신은 맞습니다. 월요일에 확인해보고이 문제에 대한 명확성이 있는지 알려 드리겠습니다. –

0

앱이 HTTPS 통해 실행 이미지 또는 일반 HTTP를 통해 다른 자원에 이상을 가져 오는되어있는 경우가 발생할 수 있습니다. http : //로 하드 코딩 된 이미지 또는 CSS 경로가 있는지 확인하십시오.당신은 이미지 foo.jpg를로드 할 앱이 https://example.com에서 실행되는 경우

예를 들어, 사용되어야하는 HTML 인 경우 :

<img src="https://example.com/images/foo.jpg"/> 

또는 (이상적)

<img src="images/foo.jpg"/> 

아니요

N 세 번째 예는 https 대신 http을 통해 foo.jpg 이미지를 가져옵니다. 따라서 그것은 당신이 직면하고있는 문제를 일으킬 것입니다.

이러한 문제를 방지하려면 과 상대 URL을 사용하는 것이 가장 좋습니다.

+0

다른 서버를 참조해야하지만 같은 프로토콜을 사용하려는 경우'2.example.com/images/foo.jpg'를 사용할 수도 있습니다. –

+0

예, Google 팀에서이를 알고 있습니다. 우리는 그러한 사건이 없다는 것을 확실하게 삼켰습니다. 이것은 IE에서 경고를 유발하는 또 다른 메커니즘입니다. –

관련 문제