在运行PHP的Web服务器上,我需要PHP脚本才能通过exec()
,system()
或类似的方式运行一个特定的外部程序。
因此,必须在PHP级别启用执行功能。
但是,为了减轻恶意PHP代码的影响,我想将执行从PHP限制到只需要的程序。
换句话说,我不希望PHP能够运行在文件系统中找到的任何(危险)程序,例如/ bin / ls,/ usr / bin / wget等。
编辑:信任或不信任用户输入不是问题。我知道我的PHP脚本运行合法程序。我担心恶意PHP脚本能够通过shell exec运行所有内容。
似乎PHP不允许指定可以执行的文件名,但有没有解决方法来限制执行?也许写一个自定义的PHP扩展?