安全な方法で Web ワーカーに評価されるカスタム ユーザー コードをオフロードすることは可能ですか?
Web ワーカーの文字列との「通信のみ」機能は有望に見えますが、ユーザー コードの評価は、興味深い点で常に危険です。
私はそれについてウェブ上で多くの情報を見つけることができません。クライアント側またはサーバー側のサニタイズなどでそれを行う良い方法はありますか?
安全な方法で Web ワーカーに評価されるカスタム ユーザー コードをオフロードすることは可能ですか?
Web ワーカーの文字列との「通信のみ」機能は有望に見えますが、ユーザー コードの評価は、興味深い点で常に危険です。
私はそれについてウェブ上で多くの情報を見つけることができません。クライアント側またはサーバー側のサニタイズなどでそれを行う良い方法はありますか?
Web ワーカーは DOM を変更できないため、新しい要素を作成したり、この方法で XSS 攻撃を作成したりすることはできません。ただし、XMLHttpRequests を作成できるため、same-origin-policy に従うあらゆるデータにアクセスして要求できます。
ワーカーとの間のメッセージをサニタイズする限り、安全なはずです。特定の文字列、オブジェクト、または整数のみを許可し、他の種類のメッセージをブロックします。
また、Web ワーカーがユーザーごとにのみ存在し、ユーザー間で分散されていない場合、ユーザーは開発者コンソールでまだ実行できないことを実行できなくなります。
以下も参照してください。
それは次の 2 つの要因に依存します。
コードを作成したのはどのユーザーですか? とにかく、すべてのユーザーは自分のブラウザーでカスタム コードを実行することが許可されており、それらを妨げることはできません。現在のユーザーが入力したコードに「完全な権限」を「与える」ことができます。
コードが他の悪意のあるユーザーによって作成された場合は、注意が必要です。WebWorker は Ajax リクエストを実行できますが、資格情報が原因でセキュリティ ホールになる可能性があります。そして、無限ループと共同は決して良いことではありません。
GUI は WebWorker と通信し、WebWorker からのイベントに応答します。WebWorkers メッセージはアプリケーションにどの程度の害を及ぼす可能性がありますか? それを制限する必要があります。