我知道這是technically a duplicate question上執行Python代碼,但我相信它是有效的,因爲原來的問題是7年前提交的,因爲那麼Python/Web安全已經走過了很長的路要走。允許用戶在服務器
我想建立一個Web應用程序,允許用戶輸入Python代碼(通過編輯王牌包),然後在服務器上使用Python解釋器在瀏覽器中執行它。我不能使用pypy.js,因爲我需要使用numpy,pandas和matplotlib。本質上,我想創建自己的Codecademy(我是一名老師,並希望爲我的學生創建Codecademy類課程)。令人遺憾的是,Codecademy在某個時候提到的創造性課程一直沒有成功。
我使用的燒瓶中,但我可以學習Django的是否會更容易些。
什麼是讓我的用戶,而不讓他們影響程序或訪問文件的其餘部分他們被允許到什麼外面跑了Python代碼的最佳方式?
那麼,你的問題是什麼?確保它不太寬! –
即使您信任他人,也允許任何人執行代碼都存在安全風險。我想像CodeAcademy在一個微型虛擬機(或類似的東西)中運行每個用戶,這樣他們就不會對主系統造成任何傷害。 –
也許,如果您使用了從主機系統中分離出來的過程中,你並不需要一個VM的開銷(我想這就是Rushy是指的是「那種東西」),即。碼頭工人而不是虛擬機,如果你不信任你的學生,最終會強制訪問控制。 – jpic