2017-01-15 7 views
0

私はテキストフィールドにコードを書くことができるウェブサイトを作ったので、このコードを自分のnodes.jsサーバに送り、自分のサーバにインストールされているRを呼び出して処理させたい書かれたRコード。ノードを経由してサーバ上でRコードを実行

問題があるのは、サーバーでRを起動し、Javascript経由でコードを入力するにはどうすればいいですか?

セキュリティの側面は、決して生きることはなく、常にローカルホストにとどまるため、これには関係ありません。

この問題にどのようにアプローチするかについてのご意見はありますか?

答えて

0

R Webフレームワークを使用する場合は、eval関数を使用してテキストボックスの内容をコードとして実行できます。

明らかにこれは非常に危険ですが、あなたはローカルで実行したいと言ってきました。

exec関数を持つ他の言語を使用して、子プロセスを起動できます。ファイルにコードを書込み、execでコンパイルしてからexec関数で実行します。

ノードでは、あなたが同じ端 http://php.net/manual/en/function.exec.php

これらのオプションのすべてが同じリスクを運ぶためのexecを使用することができますPHPでこの ​​

を達成するために、子プロセスを使用することができます。

サーバー上で安全にRコードを実行するには、RPCメカニズムを実装できます。単純なものは、コマンドの名前と渡すパラメーターから構成されます。このようにして、実行可能なものを効果的にホワイトリストに入れることができますが、任意のRコードをエスケープできないことを意味します。

関連する問題