PHP ini问题

Sar*_*raz 0 php

在php.ini中,'disable_functions'指令可用于禁用某些您可能认为不必要的函数或通过以逗号分隔的危险函数.

我只是想知道,可以使用php的功能设置'disable_functions':

ini_set
Run Code Online (Sandbox Code Playgroud)

例如,以下代码行是否正确?

ini_set('disable_functions', 'system, etc');
Run Code Online (Sandbox Code Playgroud)

谢谢

Pas*_*TIN 6

考虑以下部分代码:

ini_set('disable_functions', 'system');
var_dump(system('echo "glop"'));
Run Code Online (Sandbox Code Playgroud)

并输出:

glop
string 'glop' (length=4)
Run Code Online (Sandbox Code Playgroud)

它似乎没有工作;-)


并且,引用手册disable_functions:

必须在php.ini中设置此指令 .例如,您无法在httpd.conf中设置此指令.

这意味着您无法使用ini_set更改/设置禁用的功能 - 这似乎是合乎逻辑的:如果您可以在运行时更改此功能,任何人都可以启用管理员为"安全原因"禁用的任何其他功能,这显然不太安全...