2012-01-13 6 views
0

リモートのjavascriptファイルを特定のページに埋め込みたいクライアント用のChrome拡張機能を開発しています。リモートサーバーからページにjavascriptファイルを挿入することは許可されていますか?

これは許可されていますか?たとえば、私はFirefoxでこのような拡張機能はAMOによって承認されないことを知っています。

許可されている場合は、できるだけ安全にするにはどうすればよいでしょうか? (すでに中間者攻撃を否定するためにHTTPSを使用して)事前に全ての

感謝を:)

答えて

5

これは拡張子の数がこれを行う、珍しいことではありませんので、私はあなたがあれば拒否されることを期待しないでくださいあなたは注意しています。しかし、将来的にはこの機能に影響を与える可能性のある新しいCSP(コンテンツセキュリティポリシー)の変化、に目を離さないでください:

1:今のようhttps://mikewest.org/2011/10/secure-chrome-extensions-content-security-policy

、あなたがこれを達成することができますいくつかの方法があります)XMLHttpRequestをバックグラウンドページで使用してコードをダウンロードし、chrome.tabs.executeScriptを使用してWebページに挿入することができます。

2)コンテンツスクリプトもクロスドメインXMLHttpRequestを使用できるため、コンテンツスクリプトと同じことができます。

3)「src」属性が外部スクリプトを指しているページで要素を作成するコンテンツスクリプトを作成できます。

その他のセキュリティ

は、可能な限り安全にするために、HTTPSがキーになります。実際にスクリプトをエンコードまたは署名することにより、さらに高度なセキュリティを提供できます。例:

1)公開鍵と秘密鍵のペアを作成します。公開鍵は拡張子に含まれており、準備ができたらスクリプトをエンコードするために秘密鍵が使用されます。

2)サーバー側でスクリプトコードを完成させ、秘密鍵でコード化します。

3)エクステンション側で、スクリプト "document"をダウンロードし、それを公開鍵でデコードします。それが有効なスクリプトファイルであることを確認します。

この方法では、秘密鍵の所有者が署名したことがわかっているスクリプトのみを受け入れて実行します。

+0

スクリプトをダウンロードするときにHTTPSを使用するだけの "追加のセキュリティ"の利点は何ですか? – tsh

関連する問題