2

ユーザーがIronRubyを使用して実行されるRubyプログラムを入力し、その結果をWebページに出力できるようにするWebアプリケーションがあります。

これは、IronRubyエンジンを作成してコードを実行するために使用するコードです。

var engine = Ruby.CreateEngine();

var source = engine.CreateScriptSourceFromString
                (sourceCodeSpecifiedByUser, SourceCodeKind.Statements);

source.ExecuteProgram();

これにはセキュリティ上の問題があります。これは、どのユーザーも安全でないタスク(たとえば、ファイルの列挙/変更)を実行するRubyコードを実行できるためです。

File.openのような文字列をブラックリストに登録しようとするとDir失敗する可能性があるので、この可能性についても考慮していません。

セキュリティの問題を回避するために、より低い権限でIronRubyエンジンを実行する方法はありますか?

4

0 に答える 0