假设我有一个用Python或Ruby编写的脚本,或用C编写的程序。我如何确保脚本无法访问网络功能?
答案 0 :(得分:5)
你或多或少通过用“沙盒”标记它来给出一个通用答案,因为这就是你需要的东西,某种沙盒。我想到的是:使用在JVM上运行的JPython或JRuby。在JVM中,您可以使用策略文件创建沙箱,因此JVM中的代码不能执行您不允许的操作。
对于C代码,它更难。蛮力的答案可能是在没有网络功能的虚拟机中运行您的C代码。我现在真的没有更优雅的答案。 :)
答案 1 :(得分:2)
除非您使用沙盒版本的Python(例如使用PyPy),否则没有可靠的方法来从脚本本身关闭网络访问。当然,您可以在关闭网络访问权限的VM下运行。
答案 2 :(得分:0)
防火墙可以阻止特定应用程序或进程访问网络。 ZoneAlarms是一个很好的,我过去常常做你想要的。所以它可以以编程方式完成,但我不太了解OS编程,以提供有关如何去做的任何建议。