php - 允许第三方将 PHP 上传到站点的安全性

标签 php filesystems

我正在考虑构建一个旨在允许用户测试 PHP 代码的网站,并且想知道是否有一种安全的方法来实现此类功能。

特别值得关注的是,是否有一种实用的方法可以让他们只编辑单个文件夹的内容,而无需在服务器上为网站的每个用户提供单独的用户?

我想到的另一件事是 system() 函数,尽管看起来这应该很容易通过在服务器上创建一个几乎没有可用命令的用户来禁用。

还有什么我应该关心的吗?好像应该有很多问题,但我实在想不起来太多。

另外,我意识到这可能属于服务器故障,但我认为这里的人们会对 PHP 有更细致的了解。

最佳答案

我可能会创建一个 chroot 的 Apache 实例,以及一个非常有限的用户,该实例将作为其运行以及上传的文件所属的用户。尽管您可以设置 disabled functions 的黑名单,但 PHP 并没有真正参与其中(除了 safe_mode 之外)。 .

恕我直言,在操作系统级别限制用户比在 PHP 中设置障碍更重要。

不过,请设置一些资源限制 - 至少针对内存、CPU 时间和实际运行时间。

关于php - 允许第三方将 PHP 上传到站点的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3607799/

相关文章:

php - Symfony 2 + Doctrine 2 覆盖实体配置

php - $absolutePath = realpath(__DIR__) 中的 "realpath"是多余的吗? __DIR__ 总是规范的绝对路径吗?

filesystems - 扩展属性存储在哪里?

PHP 使用 ssh2_tunnel 连接到 PostgreSQL

php - 回显 PHP 字符串

php - 带有开始计时的youtube嵌入式视频pregreplace

linux - 在 Linux 中删除文件所需的最小文件权限

windows - Kotlin代码的运行时编译会引发RuntimeException(警告:无法为Windows初始化 native 文件系统)

macos - 操作系统 X : Can I localize the name of a folder/directory?

来自非连续行的按列的 PHP 表