我需要允许如下:是否有可能[如何?]将shell_exec()命令列入黑名单和白名单?
shell_exec('whois ' . $domain);
,但我需要禁止一切,如:
shell_exec('ls');
shell_exec('rm -rf /');
shell_exec('sudo service nginx restart');
是有可能 “白名单” 只有一个shell_exec
命令?
我需要允许如下:是否有可能[如何?]将shell_exec()命令列入黑名单和白名单?
shell_exec('whois ' . $domain);
,但我需要禁止一切,如:
shell_exec('ls');
shell_exec('rm -rf /');
shell_exec('sudo service nginx restart');
是有可能 “白名单” 只有一个shell_exec
命令?
如果它是关于一些脚本 - 只是不通过用户输入shell_exec
说法,叫它当一些PARAM符合某个值
if ($_GET['cmd'] === 'whois') {
shell_exec('whois whatever');
}
如果它是关于一种托管,那么你应该限制对数据的访问使用OS权限。因此用户将能够拨打shell_exec('rm -rf /')
但没有任何事情发生。
我猜每个用户的限制可以在这里工作。我会试一试。 –
也许它不是一个真正的回答你的问题,但:
您可以用PHP检查:
if(substr($command , 0, 5) === "whois"){
shell_exec($command);
}
但我仍然不认为它聪明地把用户输入了shell_exec但如果你真的想要它,我应该首先检查everthing与PHP
它可能更适合[serverfault](http://serverfault.com/) –