web-dev-qa-db-ja.com

動的で安全でないコンテンツをChromeに強制的に読み込む方法

HttpsでJiraを使用していますが、追加のJSで調整したいことがあります。私のJSは安全でないサーバーでホストされています(httpsは利用できません)。

ブラウザーの拡張機能を使用してDOMに挿入することにより、安全でないJSファイルを動的に読み込むと、Chromeは次のように表示されます。

[ブロック] https://jiraserver/browseのページは、http://myserver/jira.jsから安全でないコンテンツを実行しました。

これがどのように非常に安全であり、すべてを見ることができますが、私は気にしません。安全でないJSファイルをロードしたい。どうすればChromeを信じて、私が言うことをするだけですか?

私の挿入方法(拡張コード内):

document.body.appendChild((function(s){s.src='http://myserver/jira.js';return s;})(document.createElement('script')));
21
Rudie

this Chrome Support Q&A に従って、Chrome Chrome:

--allow-running-insecure-content

一部のドキュメント 実行方法についてChromeコマンドフラグ付き

20
ariera

Chromeは、安全でないページに安全でないスクリプトをロードしません。

Jira.js haveはサーバーからロードされますか?ページに挿入する最良の方法は、拡張機能バンドルに含めることです。

var s = document.createElement('script');
s.src = chrome.extension.getURL("jira.js");
s.onload = function() {
    this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);

mustサーバーからロードする場合、拡張機能がスクリプトに対してXHRリクエストを作成し、そのレスポンスをページに挿入できると思います。

// make a XHR request, then...
var s = document.createElement('script');
s.textContent = codeFromXHR;
(document.head||document.documentElement).appendChild(s);
s.parentNode.removeChild(s);
3
josh3736

私は同じ問題を抱えていました:私たちのクライアントは、安全ではないドメインのサーバーでホストされているCSSファイルとjsファイルをリンクします。

Amazon CloudFrontを使用して解決します。検証された証明書を使用してHTTPSをサーバーに提供します。

CDNはしばしば良いアイデアであり、これらのリソースはある程度静的であるため、これは使用するのに悪いソリューションではありません。 (CSSファイルは各クライアントに合わせて調整され、実際に生成されますが、健全なTTLを構成でき、必要に応じてCDNをフラッシュできます))

CDNソリューションは、データの負荷によっては実際に証明書を購入するよりも手頃な価格になる場合があることに注意してください。

1
programaths

同じ問題に直面しており、Googleアカウントにchrome then Chrome https。

incognito window inを使用して、安全でないコンテンツを含むWebサイトをロードすると、動作します。

0
Amit Garg