菜农在学习网站编程后,就被此事困扰很永劫光。

由于前真个js可以通过ajax技能带参数访问后真个php过程,并返回结果。

那么是否js也能带参数访问任意php函数并返回结果?

ajax读取php文件javascript经由过程Ajax直接挪用随意率性PHP函数多参数 Node.js

菜农在网友的指示下完成此设想并测试通过!

其核心思想是通过js的ajax调用php的call_user_func_array()函数,以实现任意php函数的调用。

特殊把稳:

为了网站的安全和防止黑客的攻击,特殊设立了$funclst数组,js只能调用$funclst数组内的特定函数。

php核心代码为:

$funclst = array(\"大众f0\公众, \"大众f1\公众, \"大众f2\"大众, \"大众a1\"大众, \公众a2\公众, \"大众a3\公众, \"大众a4\"大众, \"大众HotCount\"大众);

$func = $_REQUEST[\公众function\"大众];

if(in_array($func,$funclst) && function_exists($func)){//只能调用例程函数

if(isset($_REQUEST[\公众age\"大众]) && strpos(strtolower($_REQUEST[\"大众age\"大众]), \公众http://\公众)){

echo \"大众函数$func()的参数中包含造孽字符!!!\"大众;

} else {

$age =isset($_REQUEST[\公众age\"大众])? explode(\公众,\公众,$_REQUEST[\"大众age\"大众]) : array();//参数以\"大众,\公众分割

echo call_user_func_array($func,$age);

}

}else{

echo \公众函数$func()不存在!!!\公众;

}

javascript通过Ajax直接调用任意PHP函数多参数例程

菜农在网友的指示下完成此例程,非常感谢!


如图所示,前三个分别是html,php和csv,末了一张图是网站测试http://www.hotpage.com.cn/phptest/HotFunction.html运行的截图。

csv内存储了访问该测试函数的次数,即网站访问计数器。