如何制作基于Web的Python交互式shell

2024-03-29

网站如何喜欢https://www.pythonanywhere.com/try-ipython/ https://www.pythonanywhere.com/try-ipython/ work?

他们可能会做几个exec命令,或与 ipython 交互。

然而,如果他们不采取任何“预防措施”(他们确实做了),这可能会非常不安全。一个纯粹的(邪恶的)用户可以做类似的事情

import shutil, os

并做一些坏事。

技术上如何web based python interactive shell可能的?如何确保交互式 shell 不会对提供商产生任何不利影响?


PythonAnywhere 开发在这里。我们结合使用文件系统监狱、低权限帐户、ulimit 限制和 cgroup 来对人员进行沙箱处理。加上一些复杂的 iptables 路由。

未来我们可能会转向 LXC 或 Docker——我们根据 2012 年发布系统第一个版本时准备生产的内容选择了现在使用的特定组合,如果我们今天从头开始,我们会采取不同的做法。

这并不是说我们当前的系统很糟糕——它运行得非常好。但这确实意味着它涉及大量代码,如果我们使用现在可用的东西,我们可以删除这些代码,并且更简单的代码显然更好:-)

[编辑]我还应该补充一点,你可能会发现这是我在 EuroPython 上做的演讲 http://www.youtube.com/watch?v=U_qp8u_BH_E有趣的。它没有涉及 shell 如何工作的安全方面,但它与您的问题主题(如何制作基于 Web 的 Python 交互式 shell)相关,因为它涵盖了运行 shell 所需的一堆内容在浏览器中并将其连接到服务器上运行的 Python 进程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作基于Web的Python交互式shell 的相关文章

随机推荐