3

ruby ではコード内の任意の場所で任意のクラスを変更できますが、保護された環境のようなサンドボックスを作成して、サード パーティのコードを実行し、アプリケーション コードの残りの部分を任意の変更から分離できるかどうか疑問に思っていました。定義済みクラス/標準ライブラリ クラス。

4

1 に答える 1

4

Ruby の安全なレベルで遊ぶことができます。

http://www.ruby-doc.org/docs/ProgrammingRuby/html/taint.html

安全なレベル 4 以上の説明は次のとおりです。

Ruby は、実行中のプログラムを効果的に 2 つに分割します。汚染されていないオブジェクトは変更できません。通常、これはサンドボックスの作成に使用されます。プログラムは、より低い $SAFE レベルを使用して環境をセットアップし、次に $SAFE を 4 にリセットして、その環境へのその後の変更を防止します。

于 2012-06-13T12:54:27.757 に答える