Mou*_*afa 0 php security function call
你好我还在学习php并尝试通过url链接调用php函数,我确实找到了这段代码
if(function_exists($_GET['f'])) {
$_GET['f']();
}
Run Code Online (Sandbox Code Playgroud)
但是我的功能并不安全,所以我做了类似的事情
if($_GET['f']=='mouner'){
function mouner(){
$s = 'my name is mouner';
return($s);
}
echo mouner();
}
Run Code Online (Sandbox Code Playgroud)
这是安全的代码吗?如果不是什么是url调用函数的最佳方式,没有安全风险
正如@JuliePelletier建议的那样,在执行与之关联的任何函数之前,您需要检查用户输入.另一种方便的方式可能是这样的:
$funcs["foo"] = function()
{
echo "In foo function";
};
$funcs["bar"] = function()
{
echo "In bar function";
};
if (isset($funcs[$_GET["f"]]))
$funcs[$_GET["f"]]();
Run Code Online (Sandbox Code Playgroud)
将函数(匿名或仅由其名称)存储在允许函数的关联数组中,然后执行这些函数.
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |