首页 > 其他 > 网站日记>正文

帝国cms 函数调用玩票

提示: 阅读权限:公开  

写帝国cms的插件,很多时候需要找到切入点。今天给大家介绍php的一个函数:deug_backtrace()


他可以返回被调用函数的调用序列。在帝国的/e/class/connect.php中的函数WriteFiletext插入代码:

//写文件
function WriteFiletext($filepath,$string){
	global $public_r;
	$string=stripSlashes($string);
	$fp=@fopen($filepath,"w");
	@fputs($fp,$string);
	@fclose($fp);
	if(empty($public_r[filechmod]))
	{
		@chmod($filepath,0777);
	}
	// add by jiuhecai  begin
	$a=debug_backtrace();
	$callfn='';
	foreach($a as $v){
	    $callfn.=$v['function'].',';
	}
	insert_dolog($callfn);
	//add by jiuhecai end
}


就可以在操作日记中,看到后台动作导致写文件的文件调用序列。


  1. 修改信息  

    调用两次WriteFiletext

   WriteFiletext,GetInfoNewsBq,GetHtml,EditNews   //解析标签,写了个临时文件


       WriteFiletext,GetHtml,EditNews  //生成html文件


2. 添加信息

        WriteFiletext,GetHtml,AddNews,

        WriteFiletext,GetInfoNewsBq,GetHtml,AddNews,


3.移动信息


      倒叙

WriteFiletext,ListHtml,ReListHtml,MoveNews_all, //刷新列表

WriteFiletext,InfoNewsBq,GetListTemp,ListHtml,ReListHtml,MoveNews_all,  // 解析标签

WriteFiletext,ListHtml,ReListHtml,MoveNews_all, //刷新列表

WriteFiletext,InfoNewsBq,GetListTemp,ListHtml,ReListHtml,MoveNews_all, //刷新标签


可见,移动信息,并没有重新生成新文件。需要你刷新才行。


4. 复制信息


WriteFiletext,ListHtml,ReListHtml,CopyNews_all,

WriteFiletext,InfoNewsBq,GetListTemp,ListHtml,ReListHtml,CopyNews_all,

WriteFiletext,GetHtml,CopyNews_all,

WriteFiletext,GetInfoNewsBq,GetHtml,CopyNews_all,


5. 刷新信息


WriteFiletext,GetHtml,ReSingleInfo,

WriteFiletext,GetInfoNewsBq,GetHtml,ReSingleInfo,


WriteFiletext,GetHtml,ReNewsHtml,

WriteFiletext,GetInfoNewsBq,GetHtml,ReNewsHtml,




上一篇:网站挂马后清理服务

下一篇:帝国cms生成一个自定义动态首页

tags: 插件 帝国cms 帝国

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部