5

サンドボックスの宝石があったことがわかりました(ブラウザでルビーを試してみた人によって作成されましたが、Ruby 1.8とのみ互換性がありました。別の問題は、もう見つからないことです(彼らはからの宝石の提供を停止しているようです)サーバー...)。

それで、サンドボックスでルビーを実行する安全な方法はありますか(ブラウザーから実行できるように)?または、サンドボックス(ファイルシステムへのアクセスやオブジェクトの作成などなし)で実行し、Ruby(Rails 2.2)から呼び出す簡単な方法(たとえば、lua / python)ですか?

下にルビーがなくてもtry_rubyのようなアプリケーションを作りたいです。しかし、それは簡単な言語でなければなりません(ルビーにはプロローグがあり、Lispでさえあるのを見ましたが、言語を学ぶのは簡単ではないと思います...)。

それで、何か提案やヒントはありますか?または、Rubyで独自のDSLの作成を開始する必要がありますか(ある程度安全なシステムを作成するための解決策がある場合)?

どうも

4

6 に答える 6

4

私は、C で書かれた Ruby インタープリターの修正に基づいて、Ruby 用のサンドボックスの実装を開発しています。最近、shikashi と呼ばれる gem の機能バージョンをリリースしました( rdocドキュメント)。

于 2010-06-21T01:10:46.943 に答える
1

今朝、hackety.org (リンク切れ)でこの記事に出会いました。正しい方向へのガイドとして役立つかもしれません

于 2009-01-02T16:32:48.287 に答える
1

JRuby をブラウザに埋め込んでみてください。

http://ruby-in-browser.googlecode.com/svn/trunk/evalruby/index.html

于 2009-01-02T17:37:25.737 に答える
1

元の gem を書いた男が姿を消した、Keyser Söze スタイル: http://www.rubyinside.com/why-the-lucky-stiff-is-missing-2278.html

JRuby の gem の方が最新であるか保守されていると読んだことがありますが、これまでのところバグがあることがわかりました。セットアップ手順は次のとおりです: http://flouri.sh/2009/4/4/how-to-set-up-the-jruby-sandbox

全体として、Ruby は現在、これを確実に実装していないようです :(

于 2010-03-28T08:11:19.920 に答える
0

サンドボックスで言語を実行するかどうかはわかりません。しかし、JavaScriptは長い間サンドボックス言語として実行されてきました。ルビーレーサープロジェクトでは、v8エンジンをルビーに埋め込むことができます。お役に立てば幸いです。

于 2010-07-09T07:20:39.677 に答える
0

別の方法は、codepad.orgが行うようなものです(VMの分離と呼び出しのチェック)

于 2009-02-04T10:06:48.950 に答える