1

我计划允许某些(注册和审查的)用户发布 php 代码和/或上传我将在沙盒环境中执行的 php 文件。

我知道这听起来多么糟糕,以及我可能打开的安全漏洞。

我还将做一些事情,比如设置严格的、短的执行时间、每天最多运行一个脚本、以非特权用户身份运行网络服务器用户等等。

我知道我可以禁止使用 php.ini 中的某些功能,但我想知道是否可以禁用所有功能(不将每个功能都放在 php.ini 中)但允许使用我拥有的某些功能审查并认为是安全的?

4

1 回答 1

2

你最好的选择是使用Suhosin扩展,它允许你将你想要允许的功能列入白名单。

请参阅 Suhosin 的 suhosin.executor.func.whitelist配置选项。

suhosin.executor.func.whitelist

允许调用的函数的逗号分隔白名单。如果白名单为空,则评估黑名单,否则调用不在白名单中的函数将终止脚本并被记录。

于 2012-11-02T15:56:03.617 回答