2010-11-26 9 views
2

私たちのサービスはHTTPS上で実行されていますが、現在のところ、コンパイル済みのGWTアプリケーションをクライアント側で実行しています。GWTアプリケーションでIEが安全でないという警告が生成される

これはIFRAMEに含まれています(これは、たとえば、HTTPSおよびHTTPの見出しの下にあるhttp://developerlife.com/tutorials/?p=231です)。

GWT-app内で特定の操作を実行すると、IEは安全でない項目の警告を生成します。

http://bagonca.com/insecure_item.png

私はHTTP経由であるかもしれないものをリクエスト見るためにいくつかの気の利いたFirefoxのプラグインを使用していない、なぜあなたは自分自身に尋ねることができます。あるいは、同じ理由でInternet ExplorerでHTTPWatchを使用しない理由。私が持っています。私が見つけることができる安全でない要求はどこにもありません。

私が読んだのは、src属性が設定されていないiframeに対してこの警告がスローされるということです。そして、潜在的な修正点は、動的に取り込まれた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;"> 

私は実際に存在し、同じドメインのHTTPSと呼ばれる空白のページへ上のsrc属性をハードコーディングしようとしました。私はjavascriptを試した: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カレンダーは、javasciptのparent参照を介してホストページと通信しようとしていると仮定します。ホスト・ページが同じ原点(プロトコルを含む)からロードされていない場合、AFAIRは許可されていません。

+0

お返事ありがとうございます。あなたは、私たちが親参照を介して通信するかなりのことを行うことを前提にあなたは正しいです。私は月曜日に確認し、この問題で明快になったかどうかをお知らせします。 –

0

あなたはオーバーHTTPSを実行しているアプリを持っているとプレーンHTTP上の画像や他のリソースをオーバーフェッチしている場合に発生します。 http://にイメージまたはCSSのパスがハードコードされているかどうかを確認してください。

あなたのアプリがhttps://example.comで実行している場合は、あなたがイメージfoo.jpgをロードしたい場合たとえば、あなたが使用する必要があるHTMLは次のとおりです。

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

か(理想的には)

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

ではない

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

N 3番目の例ではhttpsの代わりにhttpにfoo.jpgイメージをフェッチしています。したがって、あなたが直面している問題が発生します。

このような問題を回避するには、と相対URLを使用することをお勧めします。

+0

別のサーバを参照する必要があるのに同じプロトコルを使いたい場合は、 '// 2.example.com/images/foo.jpg'を使用することもできます。 –

+0

はい、私たちのチームはこれを認識しています。私たちは、そのような出来事がないことを三重に確信しました。これは間違いなくIEで警告を引き起こす別のメカニズムです。 –

関連する問題