2016-11-22 20 views
0

私はそれをどのように呼び出すかわからない!Node.js Webアプリケーションでユーザーのコードを実行する方法は?

ユーザーがロール、文字シートなどを自動化することができるときだけ、卓上RPG用のプラットフォーム(楽しく知識あり)を作りたいと思っています。私はMapToolsとRoll20のマクロシステムとRPGMakerのスクリプトシステムに触発されました。

しかし、私のノードのアプリケーションで、ユーザーが送信したテキストを読んで、それを読んだり、後方使用のために保存したりする方法がわかりません。私は、JavaScript、Python、またはLuaをユーザの言語として使うと思いました。誰でも私に方向性を指摘できますか?うまく

+0

ノードでこれを行うには、ユーザー入力を文字列として読み取り、evalを使用して実行します。ユーザが深刻なダメージを与えることがあるので注意してください。最初に検証することなくコードを実行するのは悪い習慣です。 –

+0

ノードの['vm'モジュール](https://nodejs.org/dist/latest-v7.x/docs/api/vm.html)は、ハッタンの提案を助けることができます。 'eval()'の代わりに使用してください。 –

答えて

0

、評価およびVMモジュールは、ここで両方の有用であるが、私は2つの理由から、引数としてユーザーファイルを新しいノードのプロセスを生成考えに傾いています:

  1. ユーザーの間の最大絶縁を提供コードとサーバーコード。
  2. より現実的な方法でユーザーのコード実行をシミュレートします。
関連する問題