gpt4 book ai didi

java - 在沙盒中从 PHP 运行 Java 程序

转载 作者:行者123 更新时间:2023-11-30 09:46:57 26 4
gpt4 key购买 nike

我有一个小问题:我们要运行Java程序,部分代码会被用户上传。所以我想知道运行它们的最佳方式是什么?我知道 2 种可能的方法,

  1. exec("javac Usercode.class") 然后用 exec("java Main") 运行整个程序,但我用 exec 试过了() 并且它不起作用。也许是因为 http 不是 root?但我不知 Prop 体原因。
  2. http://php-java-bridge.sourceforge.net/pjb/

有什么建议吗?

另一个问题是,如何在沙箱中运行这些程序。我们有一个 Debian 服务器,所以在有限的时间内执行命令没有问题,但是有没有可能在沙箱中运行整个代码的方法?

最佳答案

沙盒的想法:

  • 使用例如在 chroot 中运行Debian 的 schroot 命令。防止他们访问 chroot 之外的文件,但不能防止他们做诸如打开套接字等的事情。

  • 每个用户都有自己的 Linux 用户名,他们会根据该用户名进行验证。然后命令将在适当的用户名下运行(例如,通过使用 sudo 或 set-uid 可执行文件)。

  • 维护一个虚拟服务器池 - 昂贵且复杂但提供最佳隔离。

关于java - 在沙盒中从 PHP 运行 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com