2017-07-08 74 views
0

我想創建一個基於我們自己的專有Python包的Web應用程序的實時演示。在演示中,用戶應該能夠導入軟件包,然後編寫並運行實時探索軟件包功能的簡單Python腳本。 Jupyter筆記本的公開實例(特別是jupyter/tmpnb的實現)將是一個最佳解決方案,但我擔心用戶只能使用Jupyter的魔法命令(即通過訪問shell命令)和導航來訪問專有的python代碼隨時會通過運行公共實例的服務器的目錄系統。是否有任何替代Jupyter筆記本,我可以使用它? (即爲演示用戶設置交互式實時會話,以便他們可以對包進行python測試,而無需訪問包代碼)。任何有關這樣做的最佳方式的建議將不勝感激。非常感謝。jupyter/tmpnb商業網絡應用演示

回答

0

如果你正確地使用Containerise(例如通過使用Docker),那麼你可以很容易地爲你的用戶創建環境,讓他們陷入混亂,並使他們無法訪問服務器的文件夾。

事實上,如果你搞砸了tmpnb server,並打開一個終端,你會注意到用戶不能訪問除自己容器文件夾以外的任何東西。所以你可以按照tmpnb自述說明操作。

此外,您可以隨時設置所有內容,然後自行嘗試訪問您的專有代碼,以便讓您自己的代碼更加安全,並且用戶只能訪問非常有限的環境。

+0

您好,非常感謝您的回答,我很困惑:我在tmpnb服務器上玩了一下(通過您提供的鏈接),並且能夠通過使用魔術命令訪問服務器目錄:%cd .. ,%ls等,我在這裏錯過了什麼?謝謝。 –

+0

嗯,我digot自己在保護主服務器,而不是在筆記本服務器中的文件之間混合 - Juyterhub不關心用戶對自己的服務器做什麼,只要它保護主服務器。我不認爲你實際上可以阻止對文件系統的訪問,因爲python本身可以通過子進程訪問文件系統。你必須創建一個定製的內核來阻止你不喜歡的每一個可能的文件系統命令。對不起,已經得到你的希望了:( –