帝国论坛帝国网站管理系统交流区帝国CMS 7.5专版[求助]谁知到 信息审核 的PHP代码在哪里啊 想在这里加点功能 【本版专题贴子】  
主题:[求助]谁知到 信息审核 的PHP代码在哪里啊 想在这里加点功能 [加入收藏夹]   

oldboy94
用户头衔:进士

精华贴   :0
发贴数   :307
经验值   :1827
注册时间:2016-09-27
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[求助]谁知到 信息审核 的PHP代码在哪里啊 想在这里加点功能
[求助]谁知到 信息审核 的PHP代码在哪里啊  想在这里加点功能

上传以下图片:




QQ 78946876
2024-04-25 11:45:46 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3023
经验值   :8618
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

该按钮的前端代码:
<input type="submit" name="Submit8" value="审核" onclick="document.listform.enews.value='CheckNews_all';document.listform.action='ecmsinfo.php';">



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2024-04-28 05:56:03 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3023
经验值   :8618
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

利用二开助手,查找关键词 CheckNews_all,在文件 /e/admin/ecmsinfo.php  中, 看到代码:

elseif($enews=="CheckNews_all")//审核信息
{
        $bclassid=$_POST['bclassid'];
        $classid=$_POST['classid'];
        $id=$_POST['id'];
        CheckNews_all($classid,$id,$logininid,$loginin);
}



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2024-04-28 05:58:16 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3023
经验值   :8618
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

同时,在文件e/class/hinfofun.php中看到 函数 CheckNews_all 的定义

//审核信息
function CheckNews_all($classid,$id,$userid,$username){
        global $empire,$class_r,$dbtbpre,$emod_r,$adddatar,$public_r;
        $classid=(int)$classid;
        $userid=(int)$userid;
        if(empty($classid))
        {
                printerror("ErrorUrl","history.go(-1)");
        }
        //验证权限
        $doselfinfo=CheckLevel($userid,$username,$classid,"news");
        //权限
        if(!$doselfinfo['docheckinfo'])
        {
                printerror("NotCheckInfoLevel","history.go(-1)");
        }
        $count=count($id);
        if(empty($count))
        {
                printerror("NotCheckNewsid","history.go(-1)");
        }
        $dopubid=0;
        $donum=0;
        $dolog='';
        //附加链接参数
        $addecmscheck=empty($_POST['ecmscheck'])?'&ecmscheck=1':'';
        $add='';
        for($i=0;$i<$count;$i++)
        {
                $infoid=(int)$id[$i];
                if(empty($infoid))
                {
                        continue;
                }
                $infor=$empire->fetch1("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check where id='$infoid' limit 1");
                if(!$infor['id']||$infor['isqf']==1)
                {
                        continue;
                }
                $sql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_index set checked=1 where id='$infoid'");
                //投稿增加积分
                if($infor['ismember']&&$infor['userid'])
                {
                        $cr=$empire->fetch1("select classid,addinfofen from {$dbtbpre}enewsclass where classid='$infor[classid]'");
                        if($cr['addinfofen'])
                        {
                                $finfor=$empire->fetch1("select haveaddfen from {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check_data where id='$infoid' limit 1");
                                if(!$finfor['haveaddfen'])
                                {
                                        AddInfoFen($cr[addinfofen],$infor[userid]);
                                        if($cr['addinfofen']<0)
                                        {
                                                BakDown($infor[classid],$infor[id],0,$infor[userid],$infor[username],$infor[title],abs($cr[addinfofen]),3);
                                        }
                                }
                        }
                        $empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check_data set haveaddfen=1 where id='$infoid'");
                }
                //未审核表转换
                MoveCheckInfoData($class_r[$classid][tbname],0,$infor['stb'],"id='$infoid'");
                //审核人
                if(!$infor['eckuid']&&($infor['ismember']||$infor['userid']!=$userid))
                {
                        $empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]." set eckuid='$userid' where id='$infoid'");
                }
                //更新栏目信息数
                AddClassInfos($infor['classid'],'','+1');
                //刷新信息
                GetHtml($infor['classid'],$infor['id'],$infor,1);
                //更新动态缓存
                if($public_r['ctimeopen'])
                {
                        eUpCacheInfo(1,$infor['classid'],0,0,$infor['ttid'],'',$infor['infotags'],0,0,1);
                }
                $donum++;
                if($donum==1)
                {
                        $dopubid=ReturnInfoPubid($infor['classid'],$infor['id']);
                        $dolog="classid=".$infor['classid']."<br>id=".$infor['id']."<br>title=".$infor['title'];
                }
    }
        //刷新列表
        //ReListHtml($classid,1);
        $returl=EcmsGetReturnUrl();
        //发送通知
        if($adddatar['causetext']&&$infoid)
        {
                if(!$infor['id'])
                {
                        $infor=$empire->fetch1("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id='$infoid' limit 1");
                }
                DoInfoSendNotice($userid,$username,$infor['userid'],$infor['username'],$adddatar['causetext'],$infor,2);
                if($adddatar['ecmsfrom']&&(stristr($adddatar['ecmsfrom'],'ListNews.php')||stristr($adddatar['ecmsfrom'],'ListAllInfo.php')))
                {
                        $returl=$adddatar['ecmsfrom'];
                }
                else
                {
                        $returl="ListNews.php?bclassid=$adddatar[bclassid]&classid=$adddatar[classid]".$addecmscheck.hReturnEcmsHashStrHref2(0);
                }
        }
        //操作日志
        if($donum==1)
        {
                insert_dolog($dolog,$dopubid);
        }
        else
        {
                insert_dolog("classid=".$classid."<br>classname=".$class_r[$classid][classname]);
        }
        printerror("CheckNewsSuccess",$returl);
}



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2024-04-28 06:00:16 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3023
经验值   :8618
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

有了以上的代码,你应该容易找到拦截和二开的位置。

一般来说,
3楼中的代码位置,适合审核前拦截
审核后的加料,我喜欢 printerror("CheckNewsSuccess",$returl); 之前,或者修改printerror函数来完成。



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2024-04-28 06:03:23 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3023
经验值   :8618
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

总结,浏览器的f12容易看到前端代码,找到功能关键词。

结合二开助手,容易找到插入点,并实现代码的二开秒杀。



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2024-04-28 06:04:47 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5714
经验值   :16329
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

你要加什么?




2024-04-28 07:31:16 已设置保密 顶部 回复 引用 报告 编辑 删除

oldboy94
用户头衔:进士

精华贴   :0
发贴数   :307
经验值   :1827
注册时间:2016-09-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

感谢大佬辛苦码字,知识量有点大我慢慢消化,谢谢了



QQ 78946876
2024-04-28 18:43:56 已设置保密 顶部 回复 引用 报告 编辑 删除

oldboy94
用户头衔:进士

精华贴   :0
发贴数   :307
经验值   :1827
注册时间:2016-09-27
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

前台用户发布的信息,后台审核的时候用post方式推送给第三方接口



QQ 78946876
2024-04-28 18:45:20 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1