Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 用于Python的Linux Web服务器沙箱_Web Services_Python 3.x - Fatal编程技术网

Web services 用于Python的Linux Web服务器沙箱

Web services 用于Python的Linux Web服务器沙箱,web-services,python-3.x,Web Services,Python 3.x,我对web服务器非常陌生,我想向我的用户推荐通过我的网站使用Python的功能 我的主要问题是Python并不是无害的,即使它是无臂的(很抱歉这是一个非常糟糕的文字游戏)。所以我需要使用一种沙箱,但对我来说,这更多的是一个概念,而不是一种我可以使用的技术 那么,最好的方法是什么呢?您可以在本地计算机上运行启用cgi的服务器,只需一个命令: python -m http.server 8000 --cgi 它将为您执行该命令的工作目录中的任何内容提供服务 您可以通过将浏览器指向localhos

我对web服务器非常陌生,我想向我的用户推荐通过我的网站使用Python的功能

我的主要问题是Python并不是无害的,即使它是无臂的(很抱歉这是一个非常糟糕的文字游戏)。所以我需要使用一种沙箱,但对我来说,这更多的是一个概念,而不是一种我可以使用的技术


那么,最好的方法是什么呢?

您可以在本地计算机上运行启用cgi的服务器,只需一个命令:

python -m http.server 8000 --cgi 
它将为您执行该命令的工作目录中的任何内容提供服务

您可以通过将浏览器指向
localhost:8000

如果您使用的是python 3.4或更高版本,则可以将其限制为本地接口,以便外部人员无法访问这些页面:

python -m http.server 8000 --cgi --bind 127.0.0.1
沙箱 您需要操作系统的支持才能有效地对应用程序进行沙箱处理

  • 在FreeBSD上,可以使用。多年来,这已证明是相当安全的。(虽然该系统存在漏洞,但大家一致认为,如果没有外部帮助,程序是不可能越狱的。)
  • 在Linux上,您可以使用
  • 在MS Windows上,您可以使用
在决定做什么之前,先看看虚拟化技术的发展趋势。我个人建议只使用提供“根特权隔离”的技术

另一种可能是使用虚拟机。但这可能会有更多的开销

无论您使用什么,您仍然需要主机上的防火墙将一些流量重定向到沙箱/虚拟机

Python安全性 CPython本身 coverity定期审核标准CPython的源代码。在2012年的扫描中,他们在1000行代码中发现了0.005个缺陷。开源项目的平均缺陷率为每1000行0.69个,每1000行1个缺陷被视为良好的行业标准

所以CPython本身没有很多缺陷

用Python进行Web编程 已经确定了,以及

内置函数在这里值得特别提及。 它以字符串的形式执行给定给它的Python代码,没有检查或边界。因此,虽然它有时非常有用,但这个函数永远不能从web上获得不可信的输入! 例如,不要试图使用它来为您的web应用程序提供内置计算器

他们的书也很有趣


监狱是一个强大的工具,但它们不是安全万灵药。虽然被监禁的进程不可能自行爆发,但监狱外的非特权用户可以通过多种方式与监狱内的特权用户合作,在主机环境中获得提升的特权

通过确保主机环境中的非特权用户无法访问监狱根目录,可以减轻大多数攻击。作为一般规则,不应授予具有监狱特权的不受信任用户访问主机环境的权限


很抱歉我的误解,但我如何做,以附加一个工作目录,特别是一个用户,将使用我的网站。