web-dev-qa-db-ja.com

Chrome httpsからhttpへのすべてのjsonpリクエストをブロックしますか?

最近、ある時点でChromeがjsonp経由でロードされたデータのエラー表示を停止しました

[ブロック] https://user.example.com/category/12345 のページは http://livedata.example.com/Data.svc/jsonp/から安全でないコンテンツを実行しましたGetData?category = 12345&callback = _jsp&_1346417951424 =

他のすべてのブラウザでも引き続き正常に動作し、Chromeを実行しているいくつかの異なるコンピュータで確認されています。

以前にこの問題について私が見た唯一の言及は、ページがGoogle独自のドメインの1つから提供されたとき(私が推測するGoogle Appsのセキュリティ機能ですか?)、これは最近のバージョンですべてのドメインで有効になっているものですか? Chromeの?

理想的には、サーバーの負荷が増えるため、livedataサブドメインでhttpsを有効にする必要はありません。データはすべて公開されているため、暗号化する必要はありません。

29
Brainfloat

それは間違いなくそれをブロックするはずです-それは安全ではなく、HTTPSの約束を破ります。

JSONPリソースのフェッチは、ターゲットを指す<script>リソースを作成することによって行われます。つまり、ターゲットサーバーはインクルードページで好きなJavaScriptを実行できるため、中間者がHTTPSで保護されていると思われるページに任意のスクリプトを挿入できます(たとえば、キーロガーの追加、またはページコンテンツの完全な置き換え) )。 HTTPからの<script>を含むHTTPSページは、プレーンなHTTPページよりも安全ではありません。

HTTPSページからアクセスできるようにする場合は、データフィードのHTTPSバージョンを提供する必要があります。それ以外の場合、ブラウザは少なくとも警告を生成するはずです。 Chromeブロックするようにデフォルト設定しても、問題の性質は変わりません。適切に修正するために必要な追加のプッシュが提供されるだけです。

19
bobince

<script src="//domain.com/script.js"></script>リモートサーバーがHTTPSを許可している場合の問題を解決します... //サイトがhttpsでアクセスされた場合、プロトコルを自動的にhttpsに設定します。

7
Stefan