2016-06-20 1 views
0

MonacoAceなどのブラウザベースのコードエディタを使用して、他のユーザが実行するブラウザにコードを記述できるようにしたい。あなたはjsfiddleなどと想像することができます。しかし、私はクロスサイトスクリプティングの脆弱性を開放したくありません。私はアプリケーションでこれらのツールを適切に実装してXSSを防止する方法についてはあまり気にしていません。XSSで安全なブラウザベースのコードエディタの作成方法

実行時にこれらのツールで書かれたjavascriptを「サンドボックス」する方法はありますか? JSFiddle、CodePen、オンラインエディタなどのツールは、悪質なスクリプトからどのように保護されますか?一般に、アプリケーションでブラウザベースのコードエディタを使用しているときに、XSSの脆弱性を防ぐためにどのようなテクニックを使用する必要がありますか?

答えて

1

通常、これらのツールは別のドメインでスクリプトを実行します。したがって、(意図的に)クロスサイトスクリプティングの脆弱性はありますが、同じ発信元ポリシーを利用してサンドボックス化します。これが最もシンプルで簡単な方法です。エディタサイトにログインがあっても、このサンドボックスドメイン上で実行されているスクリプトは、同じ発信元ポリシーによってメインドメインのどのコンテンツにもアクセスできないため、XSSはむしろ役に立たない。

関連する問題