我正在构建一个旨在允许用户测试PHP代码的网站,并且想知道是否有一种安全的方法来实现这样的功能。
特别值得关注的是,是否有一种实用的方法可以让他们只编辑单个文件夹的内容,而无需在服务器上为该网站的每个用户设置单独的用户?
我想到的另一件事是system()函数,虽然看起来这很容易通过在服务器上创建一个用户而几乎没有可用的命令来轻松禁用。
还有什么我应该关注的吗?似乎应该有无数问题,但我真的不能想到很多问题。
另外,我意识到这可能属于serverfault,但我认为这里的人会对PHP有更细微的理解。
答案 0 :(得分:2)
我可能会创建一个Apache的chroot-ed实例,也是一个非常有限的用户,它将运行以及上传的文件将属于谁。尽管你可以设置一个disabled functions的黑名单,但PHP并没有真正考虑到这里(除了safe_mode)。
更重要的是恕我直言限制用户在操作系统级别,而不是在PHP中构建障碍。
尽管设置了一些资源限制 - 至少是内存,CPU时间和待机时间。
答案 1 :(得分:1)
您想要做类似的事情,CodePad吗?他们对他们在“关于”页面上使用的技术有一些说法: