Dedecms自定義sql出現錯誤SafeAlert:RequestErrorstep2!

呂亞輝發表於2014-11-12

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”;

}

相關文章