PHP:从$_REQUEST中正确调用函数



我一直在阅读一个项目(不基于任何PHP框架),我在几乎每个响应用户请求的PHP文件($_GET$_POST)上都遇到了以下(过程)代码。

if ($_REQUEST['a']){
    $func="a_".$_REQUEST['a'];
    if (function_exists($func)){
        $func();
    }else{
        // redirect
    }
}else{
    // redirect
}
...
a_action_a() { ... }
a_action_b() { ... }

我很想知道它是否足够安全(或者更好的是什么是威胁)作为函数调用的机制。这段代码会导致控制流或函数枚举吗?

在过程式PHP中是否有合适的方法或建议的机制来调用函数?

是否有适当的方法或建议的机制来调用函数PHP程序?

正确的方法是使用一个路由脚本,它将根据路由决定执行什么代码,就像在Silex中一样。

$app->get("/index",function(){
  return "this is the index";
});

,并在web浏览器

中有适当的。htaccess文件
FallbackResource /index.php

这可能是一个意见问题,但没有真正的用例,你需要暴露你的应用程序的内部工作直接给客户端,即使前缀你所有的函数。

相关内容

  • 没有找到相关文章

最新更新