沙盒用户的PHP代码

jan*_*mon 6 php security sandbox

我想限制用户可以访问的PHP功能.

例如,有一个对象$data,用户喜欢使用if forecho.

显然允许他编写PHP将是一个严重的漏洞.

有没有办法在沙盒中运行这个PHP,或者你会推荐任何轻量级的PHP模板引擎吗?

Nik*_*kiC 8

如果您没有自己的服务器,则可能没有runkit.但你所拥有的(可能)是Tokenizer!使用Tokenizer,您可以查看给定的源代码并在发现无效令牌时中止.这里有一个如何使用它来验证数组的示例.你可以为你的目的做同样的事情.PHP文档有一个令牌列表.如果您需要帮助决定允许或禁止哪些令牌,请说明.

€dit:显然我也建议使用Twig.太棒了 - 还有沙盒!