gpt4 book ai didi

PHP Shell_exec 仅适用于某些命令

转载 作者:IT王子 更新时间:2023-10-29 00:42:04 26 4
gpt4 key购买 nike

有没有办法禁用shell_exec只有某些可以列入白名单的命令除外?

我想我总是可以进入并将这些命令放入 mod_sec,这是我不想运行的主要命令。但是那种配置是不够的。我想禁用 shell_exec 但允许 shell_exec 仅使用某些命令运行,确切地说是两个。

我正在运行 CentOS、Cpanel 和 PHP 5.2.17。

最佳答案

这本身并不是可禁用/白名单,但如果操作正确,它可以让用户在受监督和严格控制的情况下访问您在代码中指定的那些 shell 命令。

    $Ops = array(
'function1' => function($parameter){
DO PARAMETER CHECK HERE;
shell_exec("CommandThatIsSafetoPerform" + parameter here);
},
'function2' => function($parameter){
DO PARAMETER CHECK HERE;
shell_exec("CommandThatIsSafetoPerform" + parameter here);
},
'function3' => function($parameter){
DO PARAMETER CHECK HERE;
shell_exec("CommandThatIsSafetoPerform" + parameter here);
},

);

然后调用这样的东西:

call_user_func(Ops["function1"], "your parameter here");

一些特别说明:让用户访问参数是自找麻烦。您最好对所有内容进行硬编码,并且不要让用户能够修改任何参数。

关于PHP Shell_exec 仅适用于某些命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12803771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com