Java アプリケーションで JRuby を使用して、ユーザーがスクリプトを実行できるようにしています。アプリケーションの通常の機能に必要な操作のセットは大きくありません。スクリプトは、Java コードのいくつかの変数を制御し、実行中にプロセスを変更する必要があります。
そのため、許可される操作の数を制限する機会が必要です。たとえば、ユーザーにファイル システムへのアクセスを許可したくありません。
f = File.new("myfile.txt", "w")
f.puts( "Hello!" )
f.close
これは禁止されるべきです。
どうすればそのような設定を行うことができますか? 私が持っている唯一のアイデアは、起動前にユーザースクリプトを解析し、スクリプトを許可された操作のホワイトリストと比較することです.