PHP:返回所有用户定义的函数

时间:2013-12-07 23:27:02

标签: php shell

我有PHP shell,我希望用户能够直接调用函数。我完成了。但后来我发现用户甚至可以调用unlink等预定义函数。我认为这是安全漏洞,所以我想将可调用函数限制为仅限于我定义的函数,例如:调用unlink不起作用。

2 个答案:

答案 0 :(得分:0)

您可以使用

获取定义函数列表
get_defined_functions();

它将返回一个带有用户定义和内部函数的assoc数组。您可以使用该信息来确定函数是用户定义的还是内部函数。 (manual

答案 1 :(得分:0)

您可以使用disable_functions INI设置(在php.ini文件中)禁用功能。

例如:

disable_functions=unlink,fopen,file_get_contents [and so on...]