私は次の問題の解決策を探しています:今、私はRailsアプリケーションを開発しています。私はブラウザでRubyでコードを作成し、そのコードをRailsアプリケーションで実行する可能性があります。RubyのWebブラウザ
いくつかの解決策がありますか?
UPD:
- どのようなコードのハイライトは?
- Native Clientはどうですか?
私は次の問題の解決策を探しています:今、私はRailsアプリケーションを開発しています。私はブラウザでRubyでコードを作成し、そのコードをRailsアプリケーションで実行する可能性があります。RubyのWebブラウザ
いくつかの解決策がありますか?
UPD:
https://github.com/codegram/rack-webconsole
それとも、単にポストを介してサーバにRubyコードを渡すとevaleval(CODE)
を呼び出すことができます。
特に、2番目の方法は、実行コードがシステムに完全にアクセスできるため、非常に安全ではないことに注意してください。
これが本当に行われなければならないのであれば、 "Locking Ruby in the Safe"で保護することができます。
EDIT:構文強調表示のために
がCode MirrorとACEを見てみましょう。どちらも、Rubyをサポートするまともなソースコードエディタです。
実用的な展開ソリューションはまだありませんが、text/x-rubyを概念の証明として見ることができます。
また、ブラウザベースのIDEとして機能するCloud9 IDEもあります。実行するコードをサーバーに保存し直します。
eval
はあなたが探しているものです。ユーザーはRubyコードを入力し、あなたのレールアプリにPOSTされます。あなたのコントローラの中で、提出されたRubyコードを評価する必要があります。
しかし、あなたはおそらくこれを望んでいません。実際にユーザーが提出したコードを評価して実行する必要があるようであれば、おそらくその機能の必要性を再考する必要があります。これは安全にすることはほとんど不可能です。特定のユーザーから保護する場合でも、XSSを利用することができます。この「機能」を介して無駄にサーバを実際に引き継ぐことができます。
は、私が嗅ぐ巨大なセキュリティ違反ですか? –
C++のネイティブクライアントで、ルビではありません。 – Raynos
@レイノスhttp://code.google.com/p/nativeclient/source/browse/trunk/src/native_client/tests/ruby/ruby.html?r=1053 – falinsky