帝国CMS安全补丁修复 【20090613】

时间:2009-06-14 03:05:00  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:09-06-13 13:40修正了最新程序,此时间后从官方下载并安装和升级的用户(v5.1)将不用修复此补丁。 修复方法:(适用于所有帝国CMS版本)修改e/class/connect.php文件,找到: f...
  正文:由于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) "帝国CMS安全补丁修复 【20090613】"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/cms/ecms/9925.html


关键字:

关于《帝国CMS安全补丁修复 【20090613】》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td