0

私はオンライン審査アプリケーションを実行しており、コントローラから Ruby スクリプト (または C++、Java などのプログラム) を実行し、出力を変数に保存して、データベースにあるテスト ファイルと比較したいと考えています。

プログラムを実行して、標準出力に送信される応答を確認することに行き詰まっています。私は試しましたanswer = load path(「パス」はスクリプトのパスを持つ変数です)が、stdoutコンテンツの代わりに「true」を返します。しかし、パス変数を認識しanswer = `ruby path`ません。

お時間をいただきありがとうございます。

4

1 に答える 1

0

これを試してください:system("ruby #{path}")ただし、ユーザーが送信した情報をパス変数に渡さないように注意してください (または、少なくとも完全にサニタイズしてください)。これは、非常に深刻なセキュリティ リスクを引き起こす可能性があります。

于 2012-06-28T01:43:50.010 に答える