6

開発者に Javascript でサイト用のカスタム アプリを作成してもらいたいのですが、それをサンドボックス化して、ユーザーをリダイレクトしたり、本文の表示を none に設定したりするなどのいたずらをできないようにしたいと考えています。彼らが必要とする機能はそこに存在するので、サンドボックスを作成することは次の問題になると考えていました:

with(Namespace) {
    //App code goes here where they can only access Namespace.*
}

これを回避するのはどのように簡単で、他にどのような方法がありますか? 提出されたすべてのアプリをモデレートする必要はありません。

4

3 に答える 3

8

現時点でコードをサンドボックス化するためのオプションは次のとおりです。

どちらも、グローバル オブジェクトと DOM へのアクセスが制限された安全な環境を作成できます。

これらのプロジェクトの主な目的は、ウィジェットやサード パーティの Web コンテンツを安全に埋め込むことができるようにすることです。

于 2010-06-07T04:21:49.497 に答える
2

最初に頭に浮かぶのはeval. これを使用して、ラッパー サンドボックスの外部でカスタム コードを実行できます。コードをラップしようとして、熱心な開発者を止めるのは非常に困難です。

eval の使用へのリンク。

于 2010-06-07T03:28:20.590 に答える
1

サンドボックスを強制するには、実行前にコードを検査し、正当でないコードをキャプチャし、見つかった場合は何らかの方法で実行を阻止する必要があります。非常に退屈で、長い間エラーが発生しやすい.

Facebookは少なくとも初期のプラットフォームでこれを行いましたが、開発者としての私は間違いなくそれを楽しんでいませんでした. 彼らは使用できるネイティブ メソッドを制限し、いくつかの限定的なラッパーを提供しました。

于 2010-06-07T03:32:10.653 に答える