由于PHP本身對GBK寬字節(jié)特殊漢字處理存在問題,致使帝國系統(tǒng)受遷連。此問題目前已經(jīng)影響到 帝國CMS 中的部分功能模塊的使用,惡意用戶可能通過部分功能對網(wǎng)站發(fā)起攻擊。為此我們強烈建議您立即進行修補。
帝國CMS于2009-06-13 13:40修正了最新程序,此時間后從官方下載并安裝和升級的用戶(v5.1)將不用修復(fù)此補丁。
修復(fù)方法:(適用于所有帝國CMS版本) 修改e/class/connect.php文件,找到:
function db_connect(){ global $phome_db_server,$phome_db_username,$phome_db_password,$phome_db_dbname,$phome_db_port,$phome_db_char,$phome_use_dbver; $dblocalhost=$phome_db_server; //端口 if($phome_db_port) { $dblocalhost.=":".$phome_db_port; } $link=@mysql_connect($dblocalhost,$phome_db_username,$phome_db_password); if(!$link) { echo"Cann't connect to DB!"; exit(); } //編碼 if($phome_use_dbver>='4.1') { if($phome_db_char) { @mysql_query("SET names '".$phome_db_char."';"); } if($phome_use_dbver>='5.0') { @mysql_query("SET sql_mode=''"); } } @mysql_select_db($phome_db_dbname); return $link; } |
將它改為
function db_connect(){ global $phome_db_server,$phome_db_username,$phome_db_password,$phome_db_dbname,$phome_db_port,$phome_db_char,$phome_use_dbver; $dblocalhost=$phome_db_server; //端口 if($phome_db_port) { $dblocalhost.=":".$phome_db_port; } $link=@mysql_connect($dblocalhost,$phome_db_username,$phome_db_password); if(!$link) { echo"Cann't connect to DB!"; exit(); } //編碼 if($phome_use_dbver>='4.1') { $q=''; if($phome_db_char) { $q='character_set_connection='.$phome_db_char.',character_set_results='.$phome_db_char.',character_set_client=binary'; } if($phome_use_dbver>='5.0') { $q.=(empty($q)?'':',').'sql_mode=\'\''; } if($q) { @mysql_query('SET '.$q); } } @mysql_select_db($phome_db_dbname); return $link; } |
,然后保存文件即可修復(fù)完畢。
(推薦用dreamweaver編輯,可防止UTF8編碼文件被轉(zhuǎn)換為GBK) |
|
|
|