Python 用于商业web应用程序演示的jupyter/tmpnb

Python 用于商业web应用程序演示的jupyter/tmpnb,python,web-applications,jupyter-notebook,jupyterhub,Python,Web Applications,Jupyter Notebook,Jupyterhub,我想基于我们自己的专有python包创建一个web应用程序的实时演示。在演示中,用户应该能够导入包,然后编写和运行实时简单的python脚本,以探索包的功能。Jupyter笔记本的公共实例(尤其是的实现)将是一个最佳解决方案,但我担心用户将能够通过使用Jupyter的magic命令(即通过访问shell命令)访问专有的python代码以及在运行公共实例的服务器的目录系统中随意导航。我可以用Jupyter笔记本电脑来做这个吗?(即为演示的用户设置一个交互式实时会话,这样他们就可以在不访问包代码的情

我想基于我们自己的专有python包创建一个web应用程序的实时演示。在演示中,用户应该能够导入包,然后编写和运行实时简单的python脚本,以探索包的功能。Jupyter笔记本的公共实例(尤其是的实现)将是一个最佳解决方案,但我担心用户将能够通过使用Jupyter的magic命令(即通过访问shell命令)访问专有的python代码以及在运行公共实例的服务器的目录系统中随意导航。我可以用Jupyter笔记本电脑来做这个吗?(即为演示的用户设置一个交互式实时会话,这样他们就可以在不访问包代码的情况下对包进行python测试)。如有任何建议,请告知最好的方法。非常感谢

如果您正确地进行了容器化(例如,通过使用Docker),那么您可以轻松地为用户创建环境,使其无法访问服务器的文件夹

事实上,如果您乱搞,打开一个终端,您会注意到用户除了自己的容器文件夹之外,没有其他访问权限。因此,您可以按照tmpnb自述说明进行操作


另外,您可以设置所有设置,然后尝试自己访问您的专有代码,让自己更加放心,因为您的代码是真正安全的,用户只能访问非常有限的环境。

您好,非常感谢您的回答,我很困惑:我在tmpnb服务器上玩了一点(通过您提供的链接)只需使用魔术命令即可访问服务器目录:%cd..%ls等,我在这里错过了什么?谢谢。嗯,我把自己搞混了,是保护主服务器还是不保护笔记本服务器中的文件——Juyterhub不在乎用户对自己的服务器做什么,只要它保护主服务器。我认为您实际上不能阻止对文件系统的访问,因为python本身可以通过subaccess访问文件系统。您必须创建一个自定义内核来阻止您不喜欢的每一个可能的文件系统命令。很抱歉让你充满希望:(