27
2019
07

dedecms织梦自定义sql 出错 Safe Alert: Request Error step 2!

Dedecms自定义执行sql: SELECT body FROM dede_addonarticle WHERE aid = (select max(aid) fromdede_addonarticle WHERE typeid=11) 时出现错误Safe Alert:Request Error step 2!

这是dedecms防sql注入的原因

可以修改dedesql.class.php文件,找到构造函数,将

function__construct($pconnect=FALSE,$nconnect=FALSE)

    {

       $this->isClose = FALSE;

       $this->safeCheck = TRUE;

        $this->pconnect= $pconnect;

       if($nconnect)

        {

           $this->Init($pconnect);

        }

}

修改为

function__construct($pconnect=FALSE,$nconnect=FALSE)

    {

       $this->isClose = FALSE;

        $this->safeCheck = FALSE;

        $this->pconnect= $pconnect;

       if($nconnect)

        {

           $this->Init($pconnect);

        }

    }

或者为了安全性考虑,可以修改dedesql.class.php文件的if(!function_exists('CheckSql'))代码块,看情况注释相应的代码

我这里注释的是

elseif (preg_match('~\([^)]*?select~is',$clean) != 0)

{

    $fail = TRUE;

    $error="sub select detect";

}

原文链接:https://www.qiquanji.com/post/8864.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。