售前咨询QQ:QQ412395521
业务合作QQ:QQ627174919
位置:首页 > 知新 > 产品更新

帝国CMS重要更新 【20090613】

时间:2009-06-13 14:12:31  作者:wm_chief
由于PHP本身对GBK宽字节特殊汉字处理存在问题,致使帝国系统受迁连。此问题目前已经影响到 帝国CMS 中的部分功能模块的使用,恶意用户可能通过部分功能对网站发起攻击。为此我们强烈建议您立即进行修补。

帝国CMS于2009-06-13 13:40修正了最新程序,此时间后从官方下载并安装和升级的用户(v5.1)将不用修复此补丁。

修复方法:(适用于所有帝国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;
}

,然后保存文件即可修复完毕。

(推荐用dreamweaver编辑,可防止UTF8编码文件被转换为GBK)
 
旗下其它产品:【帝国备份王】    【EBMA系统】    【帝国下载系统
Powered by EmpireCMS
版权所有 ©2002-2024 EmpireSoft Inc.