2013-05-17 8 views
5

Webワーカーが信頼できないJavaScriptコードを安全に処理できるかどうか疑問に思っていました。たとえば、開発者が新しい描画ツールを実装できる図面アプリケーションのコンテキストでは、コードをWebワーカーに配置し、ユーザーがキャンバスをクリックしてカーソル位置を含むJSONメッセージを送信し、画像データの配列を生成し、スクリプトが終了すると、新しい画像データを含むメッセージを戻す。ウェブワーカーが信頼できないJavaScriptコードに安全な方法であるか

これは安全なのでしょうか、それとも私が考えていないリスクがありますか?

+0

[WebWorkersを安全な環境にする](http://stackoverflow.com/q/10653809/1048572) – Bergi

答えて

2

問題は、開発者がDOMアクセスを期待している場合です。コード全体がデータ専用でない限り、WebワーカーはDOMを処理できません。

JSFiddleがiframeのすべてをどのように実行するかと同様に、メインドメインからアプリ全体をサンドボックスすることをお勧めします。そうすれば、潜在的に危険なコードはそのフレームでのみ動作し、ログインのような他のすべてのものは、潜在的に危険なコードから離れたメインドメインでフレームの外で処理されます。

すべてのベストは、安全なコードを含めるだけです。メインアプリでマージする前にコードを確認してください。

5

DOMはWebワーカーには利用できませんが、indexedDBのように同じ出身のものにアクセスすることは可能です。また、プロセスを簡素化し、提供してマイライブラリを見て

http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/

:安全な方法は、IFRAMEの​​属性を使用することです

Can workers be secure enough for an untrusted code

:この上の私の関連の質問を参照してくださいサンドボックスとの便利な接続(メッセージングの代わりに関数のエクスポート):

https://github.com/asvd/jailed

関連する問題