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

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

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

js里引用phpjavascript经由过程Ajax直接挪用随意率性PHP函数多参数 Ruby

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

其核心思想是通过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内存储了访问该测试函数的次数,即网站访问计数器。