29

最近のある時点で、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 のセキュリティ機能だと思いますか?)。これは、最近のバージョンですべてのドメインで有効になっているものですか?クロムの?

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

4

2 に答える 2

19

間違いなくブロックする必要があります。これは安全ではなく、HTTPS の約束を破っています。

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

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

于 2012-09-01T09:11:08.357 に答える
7

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

于 2013-01-09T20:31:42.610 に答える