web-dev-qa-db-ja.com

JavaScriptとjQueryはhttpsを介して保護されていません

Azureで実行されるASP.NET MVC 3アプリを構築しています。 httpsに切り替えるまでは、すべてうまくいきました。今私のjQueryプラグインのほとんどと他のいくつかのjavascriptは安全ではありません。

DatatablesライブラリとjsTree、watermaks、ブレッドクラムを使用しています。このスクリプトのほとんどは、私たちのサイトを魅力的に見せることです。

これを安全にする方法はありますか?それとも、非常に無駄のないjavascriptサイトを移動するときですか?

お手伝いありがとう!

8
James

Jqueryを含め、サイト全体をhttpsで提供しています。

コツは、httpsをサポートするjQueryのCDNを使用するか、コードを独自のサイトにデプロイしてドメインから含めることです。コードでは、例えば:

<script type="text/javascript" 
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

正常に動作し、安全な要素として表示されます。

実際に安全ですか?まあ、私は通常、Google APIをCDNとして信頼しており、私が持っているコンテンツはそれほど重要ではありません。ただし、jQueryデプロイメントを完全に制御できるようにしたい場合は、自分でホストするだけです。

<script type="text/javascript" 
        src="https://mysite.com/static/js/jquery.min.js"></script>

どちらも正常に動作します。結論:CDNからjQueryをデプロイするためにhaveを実行しませんが、必要に応じて、少なくとも1つはhttpsをサポートします(他のユーザーはサポートしている可能性があります。


考慮すべきこと-CDNからコードにアクセスする理由の1つは、常に最新バージョンのjQueryコードを使用することでした。それを自分でデプロイすると、この即時性が失われます。更新がうまく機能しない場合でも、多少のバッファが得られますが、問題にならないはずです。

11
user2213

無駄のないJavaScriptサイトに移動することは良いアイデアかもしれません。少なくとも、JavaScriptを簡単に監査でき、攻撃領域がはるかに少なくなりますが、コードを書くときには十分な能力が必要です。

これは私を他の点に導きます、安全ではないjQueryで正確には何ですか?それはページ上の安全でないコンテンツに関する警告だけですか、それはつまり、JavaScriptをHTTPS経由でロードしておらず、サーバー自体に保存されているコピーから実行する必要があるということです。この方法でも、そのコピーを監査できます。 jQueryから実際に使用されていないJavaScriptクラスと関数を削除する価値があるかもしれません(すべてを使用しているのではないかと真剣に考えています)、呼び出すことができるすべての関数と呼ばれるすべての関数のリストを生成する必要があります...これを行うには..

0
ewanm89