2016-11-22 123 views
0

我甚至不知道該怎麼稱呼它!如何在Node.js Web應用程序中運行用戶代碼?

我只是想爲桌面RPG創建一個平臺(只是爲了好玩和知識),當我的用戶可以自動化滾動,角色表等等。我受到MapTools和Roll20的Macro系統以及RPGMaker腳本系統的啓發。

但我不知道如何讓我的節點應用程序讀取用戶發送的文本,閱讀並保存以備後用。我認爲使用JavaScript,Python或Lua作爲用戶的語言。任何人都可以指出我的方向?

+0

你是通過讀取用戶輸入作爲字符串,然後使用eval運行它在節點中做到這一點。只要小心,因爲用戶可以做一些嚴重的損害,所以運行任何代碼而不先驗證是不好的做法。 –

+0

節點的['vm'模塊](https://nodejs.org/dist/latest-v7.x/docs/api/vm.html)可以幫助Hattan的建議。用它來代替'eval()'。 –

回答

0

好,而EVAL和VM模塊都是有幫助在這裏,我傾向於認爲大約產生一個新的節點工藝與用戶文件作爲參數,原因有二:

  1. 提供用戶之間的最大隔離代碼和服務器代碼。
  2. 以更逼真的方式模擬用戶的代碼執行。
相關問題