天天看點

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

        }

}

修改為

        $this->safeCheck = FALSE;

    }

或者為了安全性考慮,可以修改dedesql.class.php檔案的if(!function_exists('CheckSql'))代碼塊,看情況注釋相應的代碼

我這裡注釋的是

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

{

    $fail = TRUE;

    $error="sub select detect";