サイトを http から https に移動したところ、IE-9 がホームページで安全でないコンテンツの警告を表示し始めました。jqueryスクリプトを取得するためにgoogleapiへのhttp呼び出しが1回あるため、この警告は理解できます。しかし、ログインして内部ページに入ると、ほとんどの画像が http プロトコルを介して他のサーバーから来ているという事実にもかかわらず、IE からの警告はありません。質問: https 経由でサイトにアクセスする場合、http 経由で画像を取得しても問題ありませんか? css と js だけが重要ですか? または、HTTPS 経由ですべてのデータを取得する必要がありますか? もしそうなら、私のシナリオはどのように正当化されますか (警告なしに https ページの他のサーバーから http 経由で画像を取得します)?
2 に答える
CSSとJSをHTTP経由でロードすると、攻撃者は実行可能コードを挿入できます。残念ながら、IEはCSS内でJavaScriptを実行します。同じドメインからHTTP経由で画像を読み込む場合の問題は、ブラウザがセッションIDをプレーンテキストでこぼしてしまう可能性があることです。これはOWASPa9に違反します。
すべての URL でプロトコル相対 URLを使用して、IE でこの問題を回避できます。
基本的に、プロトコルでフル パスを使用して js/image/css にリンクする代わりに、プロトコル ビットを省略してダブル スラッシュ // を使用してリンクします。
これにより、上記のすべてのリンクが親ページからプロトコルを継承するという効果があります。
もちろん、これは、さまざまなファイル形式を提供しているドメインに有効な SSL 証明書があるかどうかに依存します。
また、データ URI を使用して作成されたページまたは CSS 内の画像も、IE で混合コンテンツの警告を引き起こす可能性があることに注意してください。
問題の原因となっているファイルを特定するには、 Fiddlerを使用することをお勧めします
仲間の SO ユーザーである Eric Law が書いた別のツールもあります。
http://www.bayden.com/dl/scriptfreesetup.exeからインストールすると、ページ上の最初の安全でないリソースの正確な URL を示す別の混合コンテンツ プロンプトが表示されます。そのツールは基本的にプロトタイプであり、使い終わったらアンインストールする必要があります。IE8 で動作するため、管理者としてインストールする必要があります。