我有一个 Amazon ec2 实例 (linux)。
我希望您(是的,您)能够上传 PHP 文件,然后在 www.mydomain.com/yourname 上实时提供该文件。我还希望能够为许多其他人 (www.mydomain.com/theirname) 执行此操作。
我担心您(或他们,我们不要指责)可能会做出恶意的事情(有意或无意)。例如,无限循环、在根目录外读/写、关闭服务器、运行系统命令等。如果我想恶意,我会尝试这样做。
有没有什么方法可以设置 PHP/apache/用户权限,或者在提供代码之前搜索他们的代码,这样恶意行为至少会困难得多?
最佳答案
除其他事项外,您肯定希望调整 PHP.ini 以包含以下内容:
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
这将阻止在任何使用此 .ini 的 PHP 文件中执行这些函数
我还会启用 open_basedir支持将用户锁定在他们自己的目录中,这样他们就不能使用类似的东西:
require_once '../../another_user/index.php';
或
$notMyFile = file_get_contents('../../another_user/config.php');
关于php - 安全地服务于其他人的 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12146959/