﻿4.34.16 (11.11.15) 
    :  [安全补丁] 预防利用XSS漏洞进行攻击 (i2Sec提供) 

        lib/common.lib.php 中 function conv_content() 部分 
    
        $content = preg_replace("#\/\*.*\*\/#iU", "", $content); 

        通过调整代码位置进行完善


        // 防止产生 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))"> 
        $content = preg_replace("#\/\*.*\*\/#iU", "", $content); 

        $content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "&#111;&#110;$2$3$4", $content); 
        $content = preg_replace("/(dy)(nsrc)/i", "&#100;&#121;$2", $content); 
        $content = preg_replace("/(lo)(wsrc)/i", "&#108;&#111;$2", $content); 
        $content = preg_replace("/(sc)(ript)/i", "&#115;&#99;$2", $content); 
        //$content = preg_replace("/(ex)(pression)/i", "e&#120;$2", $content); 
        $content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content); 

        //防止在图片代码中插入恶意代码
        $content = preg_replace("/<(img[^>]+delete\.php[^>]+bo_table[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content); 
        $content = preg_replace("/<(img[^>]+delete_comment\.php[^>]+bo_table[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content); 
        $content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content); 
        $content = preg_replace("/<(img[^>]+download\.php[^>]+bo_table[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content);
        
        bbs/rss.php
        修复点击论坛名称时连接地址错误的bug
        
4.34.15 (11.10.24) 
    :  [安全补丁] 可能引发SQL Injection攻击而进行修改  (packet storm -> 韩国互联网振兴协会) 

        bbs/tb.php 修改如下带吗 

            // 删除不是英文，数字及下划线的字节 (最多 20字节) 
            $bo_table = preg_replace("/\W/", "", substr($arr[1],0,20)); 
            // 正数转换 
            $wr_id = (int)$arr[2]; 
            // 删除不是英文小写，数字字节 (最多32字节) 
            $to_token = preg_replace("/[^a-z0-9]/", "", substr($arr[3],0,32)); 

        提示) 由于引用通告功能使用率极低，可能在未来的版本中不在包含引用通告功能。
        
4.34.14 (11.10.04) 
最后更新2011.10.05  09:30 在此之前下载的用户请覆盖一下文件 

主要修复可以通过回复操作可以进行XSS攻击

    :  [安全补丁] 注册新用户时通过特殊数据字段进行数据注入攻击 
    :  [安全补丁] 防止通过回复文章，阅读文章，或添加某些链接进行XSS攻击

        bbs/register_form_update.php 添加了以下代码 

            $mb_homepage = trim(strip_tags(mysql_escape_string($_POST[mb_homepage]))); 

        bbs/write_update.php 添加了以下代码  
            
            $wr_link1 = mysql_real_escape_string($_POST['wr_link1']); 
            $wr_link2 = mysql_real_escape_string($_POST['wr_link2']); 

        bbs/write.php 添加了以下代码  

            else if ($w == "u") { 
                ... 
                for ($i=1; $i<=$g4[link_count]; $i++) { 
                    $write["wr_link".$i] = get_text($write["wr_link".$i]); 
                    $link[$i] = $write["wr_link".$i]; 
                } 
                ... 
            } else if ($w == "r") { 
                ... 
                for ($i=1; $i<=$g4[link_count]; $i++) { 
                    $write["wr_link".$i] = get_text($write["wr_link".$i]); 
                } 


4.34.13 (11.10.01) 
    :  [安全补丁] 修正会员注册及会员资料修改时会出现一些非法字段的bug 

  涉及文件：bbs/register_form.php 

            $member[mb_email]      = get_text($member[mb_email]); 
            ... 省略 ... 
            $member[mb_10]          = get_text($member[mb_10]); 

        adm/member_form.php 

            $mb[mb_email]      = get_text($mb[mb_email]); 
            ... 省略 ... 
            $mb[mb_10]          = get_text($mb[mb_10]); 

        lib/common.lib.php 

            function get_sideview($mb_id, $name="", $email="", $homepage="") 添加了以下几个代码 

            $name    = get_text($name); 
            $email    = get_text($email); 
            $homepage = get_text($homepage);
4.34.12 (11.09.22) 
    :  修改新文章或新评论设置为邮件通知时部分会员不能接收的问题

        bbs/write_update.php 
        bbs/write_comment_update.php 

            仅更换了下边这行代码

            $unique_email = array_values($unique_email);
4.34.11 (11.09.20) 
    :  韩国邮编编码变更

        bbs/zip.db 
4.34.10 (11.08.10) 
    :  [安全补丁] 预防$_SERVER 通过修改变量进行 SQL Injection 攻击 
        (SK Infosec 提供) 

        bbs/visit_insert.inc.php 页面中

            $sql = " insert $g4[visit_table] ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '$vi_id', '$_SERVER[REMOTE_ADDR]', '$g4[time_ymd]', '$g4[time_his]', '$_SERVER[HTTP_REFERER]', '$_SERVER[HTTP_USER_AGENT]' ) "; 

            替换成以下代码

            $remote_addr = mysql_real_escape_string($_SERVER['REMOTE_ADDR']); 
            $referer    = mysql_real_escape_string($_SERVER['HTTP_REFERER']); 
            $user_agent  = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']); 
            $sql = " insert $g4[visit_table] ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '$vi_id', '$remote_addr', '$g4[time_ymd]', '$g4[time_his]', '$referer', '$user_agent' ) ";

4.34.09 (11.07.26) 
    :   admin.menu300.php.bak 不引用到栏目显示中 
        ( pogusm 提供 ) 


        adm/admin.lib.php 

            if (!preg_match("/^admin.menu([0-9]{3}).*\.php$/", $entry, $m))
4.34.08 (11.07.22) 
    :  在线人数管理中语言乱码的错误
    :  系统管理 > 论坛管理 > 热门关键词管理, 热门关键词顺序调整 

        lib/common.lib.php : is_utf8() 函数添加
        visit_list.php 

        adm/admin.menu300.php 
        adm/popular_list.php 
        adm/popular_rank.php
4.34.07 (11.07.01) 
    :  [安全补丁] 通过上传附件方式进行攻击方式 
        php.ini 设置中magic_quotes_gpc = Off 时才有可能被次漏洞利用 
    :  [安全补丁] CHEDITOR5 中在为允许情况下删除文件的漏洞 ( letsgolee提供 ) 

        bbs/write_update.php添加以下代码

        if (!get_magic_quotes_gpc()) { 
            $upload[$i]['source'] = addslashes($upload[$i]['source']); 
        } 


        请替换以下代码
        
        cheditor5/imageUpload/upload.php 
        cheditor5/imageUpload/delete.php 

4.34.06 (11.06.21) 
    :  [安全补丁] CHSOFT 法人提供 ( CHEDITOR 作者 ) 
        基于4.34.05版本的强化安全补丁 
        判断上传文件格式

        请替换以下三个文件 

        cheditor5/imageUpload/upload.php
        cheditor5/popup/js/image.js 
        cheditor5/popup/flash/CHXImage.swf

4.34.05 (11.06.18) 
    :  [安全补丁] CHSOFT 法人提供 ( CHEDITOR 作者 ) 
        GIF Exploit 攻击方式，通过在gif文件中注入php文件进行攻击
        CHEDITOR5 版本将可能受到攻击

        参考) 由于涉及到严重安全隐患，请尽快更新此文件

      
        替换以下文件即可

        cheditor5/imageUpload/upload.php 
        cheditor5/popup/js/image.js 


        其他安全建议) 
        data 目录中不要允许 php 或 html 文件 
        请创建下面的文件放到data根目录内 

        根目录 : .htaccess (文件名前有点) 

        创建内容 : 

        <FilesMatch "\.([Pp][Hh][Pp]|[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll])"> 
            Order allow,deny 
            Deny from all 
        </FilesMatch>


4.34.04 (11.05.27) 
    :  如果在文章复制或移动时有新的评论内容会导致评论内容会被删除的bug 
        (  http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=18926 ) 

        bbs/move_update.php 页面

        $sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_comment desc, wr_id "; 

        替换成

        $sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment, wr_comment desc, wr_id "; 


4.34.03 (11.05.17) 
    :  [安全补丁] SQL Injection 注入攻击防范补丁
    :  [安全补丁] 通过在图片Tag代码中插入下载链接，通过浏览页面即可下载文件的漏洞
        lib/common.lib.php 页面 get_sql_search() 添加 

            $field[$k] = preg_match("/^[\w\,\|]+$/", $field[$k]) ? $field[$k] : "wr_subject"; 

        lib/common.lib.php 页面 conv_content() 添加
            
            $content = preg_replace("/<(img[^>]+download\.php[^>]+bo_table[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content);

4.34.02 (11.05.16)
5月16日11点添加部分
        bbs/view_comment.php 修改部分

            添加
            
            // 以新窗口方式打开评论发表窗口时由于没有session，所以需要创建一个
            if ($is_admin && !$token) 
            { 
                set_session("ss_delete_token", $token = uniqid(time())); 
            } 


------------------------------------------------------------------------------------- 

4.34.02 (11.05.13) 
    :  [安全补丁] 防止在图片当中插入tag代码，进行数据伪造及变更。 
        (韩国国家情报安全中心[i2Sec]提供) 
    :  修改完善认证码显示代码
        (letsgolee 提供) 

        [安全补丁] 

        lib/common.lib.php 页面中 conv_content() 添加以下代码 

            $content = preg_replace("/<(img[^>]+delete\.php[^>]+bo_table[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content); 
            $content = preg_replace("/<(img[^>]+delete_comment\.php[^>]+bo_table[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content); 
            $content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 检测 : &lt;$1", $content); 

        bbs/delete.php 与 bbs/delete_comment.php 页面添加以下代码 

        if ($is_admin) 
        { 
            if (!($token && get_session("ss_delete_token") == $token)) 
                alert("认证错误！删除失败！"); 
        } 
            
        bbs/view.php 页面添加 

            if ($is_admin) 
            { 
                set_session("ss_delete_token", $token = uniqid(time())); 
                $delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&token=$token&page=$page".urldecode($qstr)."');"; 
            } 

        bbs/view_comment.php 页面添加修改

            添加
            
            // 打开新窗口时创建session 
            if ($is_admin && !$token) 
            { 
                set_session("ss_delete_token", $token = uniqid(time())); 
            } 

            ... 

            修改

            $list[$i][del_link]  = "./delete_comment.php?bo_table=$bo_table&comment_id=$row[wr_id]&token=$token&cwin=$cwin&page=$page".$qstr; 

        [认证码变更] 

        js/jquery.kcaptcha.js 全部内容

        skin/board/basic/view_comment.skin.php 替换成如下，请使用其他skin时做参考 

            jQuery.fn.extend({...}); 删除这个部分 

            //jQuery(this).kcaptcha_load(); 使用这个代码代替
            if (comment_id && work == 'c') 
                $.kcaptcha_run();
4.34.01 (11.05.11)
:  修复游客模式下发表评论或回帖时认证码显示错误的问题 
        使用了4.33.00版本中的代码 . 
        缺点) 暂时不能更新认证码图片

        skin/board/basic/view_comment.skin.php 修改成如下代码 

        jQuery.fn.extend({ 
            kcaptcha_load: function() { 
                $.ajax({ 
                    type: 'POST', 
                    url: g4_path+'/'+g4_bbs+'/kcaptcha_session.php', 
                    cache: false, 
                    async: false, 
                    success: function(text) { 
                        $('#kcaptcha_image') 
                            .attr('src', g4_path+'/'+g4_bbs+'/kcaptcha_image.php?t=' + (new Date).getTime()) 
                            .css('cursor', '') 
                            .attr('title', ''); 
                        md5_norobot_key = text; 
                    } 
                }); 
            } 
        }); 

        function comment_box(comment_id, work) 
        { 
            ... 
            if (typeof(wrestInitialized) != 'undefined') 
                wrestInitialized(); 

            jQuery(this).kcaptcha_load();)
4.34.00 (11.04.29) 
    :  [安全补丁] 完善4.33.10～4.33.11安全补丁
此版本开始包含新版本的可视化编辑器。如果不需要请更新时不要上传覆盖以下文件。
lib/cheditor4.lib.php
cheditor5

如果使用Cheditor5 
非官方发布的Skin都要做相应修改。

修改方法：
  skin/board/skin的目录名称/write.skin.php  

            <? 
            if ($is_dhtml_editor) echo cheditor3('wr_content'); 
            ?> 

            if (document.getElementById('tx_wr_content')) { 
                if (!ed_wr_content.outputBodyText()) { 
                    alert('请输入内容'); 
                    ed_wr_content.returnFalse(); 
                    return false; 
                } 
            } 

            替换成

            if (document.getElementById('tx_wr_content')) { 
                if (!ed_wr_content.outputBodyText()) { 
                    alert('请输入内容'); 
                    ed_wr_content.returnFalse(); 
                    return false; 
                } 
            } 

            <? 
            if ($is_dhtml_editor) echo cheditor3('wr_content'); 
            ?> 

安全补丁涉及修改文件：
        bbs/register_form.php 

            /* 
            if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password])) 
                alert("输入的密码错误！"); 

            // 为了修改后返回临时保存
            set_session("ss_tmp_password", $_POST[mb_password]); 
            */ 

            if ($_POST['mb_password']) { 
                // 修改后返回的数据为加密数据
                if ($_POST['is_update']) 
                    $tmp_password = $_POST['mb_password']; 
                else 
                    $tmp_password = sql_password($_POST['mb_password']); 

                if ($member['mb_password'] != $tmp_password) 
                    alert("您输入的密码错误！"); 
            } 

        bbs/register_form_update.php 

            /* 删除代码
            // 加密传递密码数据
            if ($mb_password) 
                $tmp_password = sql_password($mb_password); 
            else 
                $tmp_password = get_session("ss_tmp_password"); 
            */ 

            $row  = sql_fetch(" select mb_password from $g4[member_table] where mb_id = '$member[mb_id]' "); 
            $tmp_password = $row['mb_password']; 

            ... 

            <input type='hidden' name='is_update' value='1'> 




2011-4-19
首先在此感谢所有支持Gnuboard中文版的网友，同时也在这里因未能及时更新中文版表示歉意。
由于2月1日起一直在重庆，广东，海南之间飘来飘去，没有固定地点，没有固定时间可以及时更新g4的各项数据，
仅仅在有空的时候发布了更新提示，有些对g4及php较深入的会员都根据更新提示自行更新了，但是对于新手来讲还是比较困难的。
这次刚回到重庆暂住地，把春节期间累计更新全部更新好了。建议新用户直接下载4.33.09版本。

4.33.09 (11.04.15) 
    :   以下两个漏洞是通过韩国互联网促进协会(KISA) 
        由仙林互联网高级学校1年级学生 姜仁旭（音译）提供。在此表示感谢！ 

        XSS 漏洞
        未屏蔽embed, object代码时可通过此代码进行跳板攻击 
        lib/common.lib.php 中修改了两个代码


        function conv_content($content, $html) 
            
            ... 

            //$content = preg_replace("/(ex)(pression)/i", "e&#120;$2", $content); 
            ... 
            // 防止出现此类情况 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))"> 
            $content = preg_replace("#\/\*.*\*\/#iU", "", $content); 

            $pattern = ""; 
            $pattern .= "(e|&#(x65|101);?)"; 
            $pattern .= "(x|&#(x78|120);?)"; 
            $pattern .= "(p|&#(x70|112);?)"; 
            $pattern .= "(r|&#(x72|114);?)"; 
            $pattern .= "(e|&#(x65|101);?)"; 
            $pattern .= "(s|&#(x73|115);?)"; 
            $pattern .= "(s|&#(x73|115);?)"; 
            $pattern .= "(i|&#(x6a|105);?)"; 
            $pattern .= "(o|&#(x6f|111);?)"; 
            $pattern .= "(n|&#(x6e|110);?)"; 
            $content = preg_replace("/".$pattern."/i", "__EXPRESSION__", $content); 


        ... 


        function bad_tag_convert($code) 
            
            ... 

            if ($is_admin && $member[mb_id] != $view[mb_id]) { 
                //$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i", 
                // 开启embed 或 object代码时自动屏蔽危险代码 
                $code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i", 
                            create_function('$matches', 'return "<div class=\"embedx\">考虑安全原因，请勿使用管理员账号浏览含有代码的主题内容！</div>";'), 
                            $code); 
            } 

            //return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "&lt;$1$2$3&gt;", $code); 
            // 开启script 或 iframe时自动屏蔽危险代码 
            return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "&lt;$1$2$3&gt;", $code);
4.33.08 (11.04.01) 
    :  以下两个漏洞是通过韩国互联网促进协会(KISA) 
        由仙林互联网高级学校1年级学生 姜仁旭（音译）提供。在此表示感谢！ 
    :  [安全补丁] XSS(Cross Site Scripting) 漏洞完善
        此漏洞是利用 XML的 namespace进行攻击的一种方式。 
        在论坛中不开启DHTML功能时可能会被此漏洞攻击。 
    :  [安全补丁] RFI(Remote File Inclusion) 远程上传附件攻击方式 
        通过获取管理员权限后，在论坛顶部及底部样式上传中添加恶意代码，通过利用
        Data URI scheme (http://en.wikipedia.org/wiki/Data_URI_scheme)  
        方式，在服务器创建remote文件，并利用 remote文件攻击其他服务器。 
        只有在PHP版本 5.x 以上，而且开启了 allow_url_fopen 设置为 On 的情况下才有可能发生。 
        
        lib/common.lib.php 

            $content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content); 

        adm/board_form.php 

            <tr class='ht'> 
                <td colspan='2'> 
                    管理员密码
                </td> 
                <td> 
                    <input class='ed' type='password' name='admin_password' itemname="管理员密码" required> 
                    <?=help("为了确保管理员账户安全，请您重新输入管理员密码");?> 
                </td> 
            </tr> 

        adm/board_form_update.php 

            if ($member[mb_password] != sql_password($_POST['admin_password'])) { 
                alert("登录密码错误！“); 
            }
            
4.33.07 (11.03.22) 
    :  通告引用地址数据表未添加导致发生部分问题
        (由于几乎不使用的功能，如果您没有相关需求可以不进行更新) 
    :  修复引用通告地址时出现乱码的问题

        bbs/write_update.php 

        if ($msg) { 
            echo "<meta http-equiv='content-type' content='text/html; charset={$g4['charset']}'>\n"; 
            echo "<script type='text/javascript'>alert('$msg $wr_trackback');</script>"; 
        }
4.33.06 (11.02.22) 
    :  [安全补丁] 拦截垃圾信息/群发广告程序完善与更新

        G4之前版本默认使用了PHPSESSID，但PHPSESSID可以通过一些途径获取 
        相关数值，以便进行在论坛群发垃圾信息。
	新版本采取新的认证方式，使客户端无法分析，同时限制5次输入，超出次数
	自动屏蔽发表功能。

        参考) 如果站内出现垃圾/广告信息请您尽可能使用会员模式运营。
	      会员必须登录后才能发表主题与评论。	
	涉及文件
        js/jquery.kcaptcha.js 
        bbs/kcaptcha_session.php 
        bbs/kcaptcha_result.php 

【提示】由于11年2月份传统节假日春节的原因，Gfans的更新未能与韩国官方同步。
期间官方更新4.33.02～4.33.05版本。4.33.06版本已经包含了期间所有的更新与补丁。
4.33.01的用户直接更新4.33.06版本即可。

4.33.02～4.33.05版本更新简要内容：

4.33.05 (11.02.20) 
    :  [安全补丁] 关于论坛内群发垃圾信息的功能更新
        
        由于出现通过判断G4随机md5数值进行垃圾信息发布软件
        更新了部分代码 
	
	涉及文件:

        js/jquery.kcaptcha.js 
        bbs/kcaptcha_session.php 
        skin/board/basic/write.skin.php 
        skin/board/basic/view_comment.skin.php 
        skin/member/basic/formmail.skin.php 
        skin/member/basic/memo_form.skin.php 
        skin/member/basic/password_lost.skin.php 
        skin/member/basic/register_form.skin.php 


        ------------------------------------------------------------------------- 
            其他) 相应Skin文件修改办法
        ------------------------------------------------------------------------- 
            
            if (typeof(f.wr_key) != 'undefined') { 
                if (hex_md5(f.wr_key.value) != md5_norobot_key) { 
                    alert('认证码输入有误，请重新输入！'); 
                    f.wr_key.select(); 
                    f.wr_key.focus(); 
                    return false; 
                } 
            } 

 		修改为：

            if (!check_kcaptcha(f.wr_key)) { 
                return false; 
            } 

   

        -------------------------------------------------------------------------

4.33.04 (11.02.12) 
	如尚未更新4.33.03版本的用户请直接更新4.33.04版本。	
    :  4.33.03 版本中更新的 common.php效果不理想，暂时返回到4.33.02版本内容
    :  4.33.03 版本中更新的 adm/member_form.php 对此版本的部分错误进行修改

        common.php 

            if (isset($sca))  { 
                $sca = mysql_real_escape_string($sca); 
                $qstr .= '&sca=' . urlencode($sca); 
            } 

            if (isset($sfl))  { 
                $sfl = mysql_real_escape_string($sfl); 
                $qstr .= '&sfl=' . urlencode($sfl); // search field (搜索字段) 
            } 

            if (isset($stx))  { // search text (关键词) 
                $stx = mysql_real_escape_string($stx); 
                $qstr .= '&stx=' . urlencode($stx); 
            } 

            if (isset($sst))  { 
                $sst = mysql_real_escape_string($sst); 
                $qstr .= '&sst=' . urlencode($sst); // search sort (搜索排列) 
            } 


        adm/member_form.php 

            <?=get_member_level_select("mb_level", 1, $member[mb_level], $mb[mb_level])?>
4.33.03 (11.02.10) 
    :  会员等级部分代码修改及优化 
    :  [Bug修复]当阅读主题需要支付积分，且浏览等级设定为1时出现的积分不能正常扣除的Bug
    :  [安全补丁] SQL INJECTION 注入攻击补丁
	涉及文件及代码
        adm/member_form.php 

            <?=get_member_level_select("mb_level", 1, $member[mb_level], $member[mb_level])?> 

        bbs/board.php 

            if (!get_session($ss_name)) 
            { 
                sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' "); 

                // 如果是作者本人就通过
                if ($write[mb_id] && $write[mb_id] == $member[mb_id]) { 
                    ; 
                } else if ($is_guest && $board[bo_read_level] == 1 && $write[wr_ip] == $_SERVER['REMOTE_ADDR']) { 
                    // 访问者为游客，主题浏览等级设定为1且IP相同就判定为自己的文章 
                    ; 
                } else { 
                    /* 
                    // 正式会员才能阅读时 
                    if ($board[bo_read_level] > 1) { 
                        if ($member[mb_point] + $board[bo_read_point] < 0) 
                            alert("当前积分(".number_format($member[mb_point]).")不足支付浏览文章所需的积分(".number_format($board[bo_read_point]).")\\n\\n"); 

                        insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 浏览", $bo_table, $wr_id, '浏览'); 
                    } 
                    */ 
                    // 积分设定判断
                    if ($board[bo_read_point] && $member[mb_point] + $board[bo_read_point] < 0) 
                        alert("当前积分(".number_format($member[mb_point]).")不足支付浏览文章所需的积分(".number_format($board[bo_read_point]).")\\n\\n"); 

                    insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 浏览", $bo_table, $wr_id, '浏览'); 
                } 

                set_session($ss_name, TRUE); 
            } 


        common.php 
        
            if (isset($sca))  { 
                $sca = preg_replace("/([\'\"\`\<\>\(\)\;\/~@?=%&!]+)/", "", $sca); 
                $qstr .= '&sca=' . urlencode($sca); 
            } 

            if (isset($sfl))  { 
                $sfl = preg_replace("/([\'\"\`\<\>\(\)\;\/~@?=%&!]+)/", "", $sfl); 
                $qstr .= '&sfl=' . urlencode($sfl); // search field (搜索字段) 
            } 

            if (isset($stx))  { // search text (关键词) 
                $stx = preg_replace("/([\'\"\`\<\>\(\)\;\/~@?=%&!]+)/", "", $stx); 
                $qstr .= '&stx=' . urlencode($stx); 
            } 

            if (isset($sst))  { 
                $sst = preg_replace("/([\'\"\`\<\>\(\)\;\/~@?=%&!]+)/", "", $sst); 
                $qstr .= '&sst=' . urlencode($sst); // search sort (搜索排列) 
            }
4.33.02 (11.01.24) 
    :  [安全补丁] LFI(Local File Include ) 
        LFI 漏洞对应补丁 (SK安全小组提供) 

        common.php 
            if ($_GET['g4_path'] || $_POST['g4_path'] || $_COOKIE['g4_path']) { ... } 
            仅更改以上代码

4.33.01 (11.01.10) 
    :  [安全补丁] XSS / CSRF 攻击预防 
        更新完善4.33.00版本中中禁止object执行Flash程序
	涉及文件
        lib/common.lib.php 
        的 bad_tag_convert()修改
	已经升级过4.33.00版本的用户只需覆盖lib/common.lib.php文件即可 

4.33.00 (11.01.06) 
    :  [安全补丁] XSS / CSRF 
        利用Flash文件的 ACTION scRIPT获取管理员Session值，并共享管理员Session最终导致可以获得管理员权限的
	严重Bug! 
	请尽快安装覆盖一下文件或自行修改一下代码
        
	=== 重要 === 
        lib/common.lib.php 
             bad_tag_convert(), view_file_link() 代码修改 

        skin/board/basic/view_comment.skin.php 
	[如果已安装其他第三方skin文件请参考本文修改]
             $str = preg_replace("/\[\\]/i", "<script>doc_write(flash_movie('$1://$2.$3'));</script>", $str); 
            删除或注释以上代码
        bbs/login_check.php 
            添加ss_mb_key sesion值 
        adm/admin.lib.php 
            比较 ss_mb_key 值
      
	=== 重要文件 === 

        adm/config_form.php 
        adm/config_form_update.php 
        adm/auth_list.php 
        adm/auth_update.php 
        adm/member_form.php 
        adm/member_form_update.php 
        adm/point_list.php 
        adm/point_update.php

除修改文件以外希望所有管理员养成不用Admin帐户在站内浏览主题的习惯。
最高管理员，默认admin帐号仅用来后台管理。管理员浏览站内文章时用普通帐号即可避免此类攻击方法。

4.32.15 (10.12.28) 
    :  [安全补丁] $write_table 变量初始化 

    涉及文件    common.php 

只需修改添加以下部分即可

$write_table = ""; 


建议：
删除data目录中的php,htm,html文件，
在linux下可以使用以下命令搜索
find -name '*.php' -o -name '*.htm' -o -name '*.html' 

默认包含的index.php也可以删除

汉化遗漏的汉化图片及文件  （感谢会员枫提交bug）
skin/board/basic/img/co_btn_good_write2.gif 
cheditor4/icons/submit.gif 

4.32.14 (10.12.07) 
    :  修改开启新内容邮件通知功能部分代码
    :  修改会员积分为负数时发表评论出现的bug 
    :  修改4.32.13版本中后台管理员等级显示1～100级，修改为1～10级
    :  修改Cheditor.js中部分笔误

        bbs/write_update.php 
        bbs/write_comment_update.php 
4.32.13修正版 (2010.11.13)修正内容：
仅仅修改中文版发行时的错别字及部分汉化过程中出现的问题，所以不修改版本号，仅增加修正版

 1.  2010-11-13 01：00前下载的用户请重新下载或覆盖cheditor.js文件 【修正汉化遗漏部分】\gnuboard4.utf8_chn\cheditor4\cheditor.js
 2.  未开启详细地址输入时出现数据错误 无法错误问题  \gnuboard4.utf8_chn\bbs\register_form_update.php
 3.  修正默认登录模板在部分海外虚拟主机出现乱码的问题
 4.  强制设置utf8_general_ci编码格式【mysql编码格式未设置utf8_general_ci时出现乱码，修改后强制设置utf8_general_ci编码格式】 


4.32.13 （2010.11.02）
    :  [安全补丁] 当天上午发布的.13版本更新是疏漏代码导致出现可以修改别人发表的评论的漏洞 11月2日中午前下载的用户请及时覆盖文件 
        bbs/write_update.php 
  
------------------------------------------------------------------------------------------ 
    :  [安全补丁] 必须使用加密内容的论坛板块内，禁止发表主题后通过修改方式将加密状态解除。（管理员除外） 
    :  [安全补丁] 可以修改别人文章的漏洞
    :  修改注册会员及修改信息是公开信息部分的介绍文字

        bbs/write_update.php 
        skin/member/basic/register_form.skin.php
4.32.12 (10.10.21)
    :   [安全补丁] 为了屏蔽最近有很多通过站内短信发送广告的行为
    :   短信传送方式修改为post
    :   发送短信时需输入认证码

        bbs/memo_form_update.php
        skin/member/basic/memo_form.skin.php

4.32.11 (10.09.11)
    :   [安全补丁] 严重漏洞
        自动登录功能缺陷

        common.php 修改以下内容

        if ($tmp_mb_id = get_cookie("ck_mb_id"))
        {
            $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);
            // 禁止最高管理员设置自动登录
            if ($tmp_mb_id != $config['cf_admin'])
            {
                $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g4['member_table']} where mb_id = '{$tmp_mb_id}' ";

        common.php

4.32.10 (10.09.07)
    :   完善ID/密码查询功能
        之前使用的 password_forget 不再使用，替代为 password_lost 
        注册会员时不再输入忘记密码提问及答案
    
        bbs/password_lost.php
        bbs/password_lost2.php
        bbs/password_lost_certify.php
        skin/member/basic/password_lost.skin.php
        skin/member/basic/register_form.skin.php
        skin/member/basic/login.skin.php            : win_password_forget() -> win_password_lost() 代替
        skin/outlogin/basic/outlogin.skin.1.php     : win_password_forget() -> win_password_lost() 代替
        js/common.js                                : function win_password_lost() 添加

        // 更新此次更新后请删除以下文件
        bbs/password_forget.php
        bbs/password_forget2.php
        bbs/password_forget3.php

4.32.09 (10.09.07)
    :   允许论坛内搜索\符号
    
        lib/common.lib.php                          : $search_text = trim(stripslashes($search_text)); 代替
        skin/board/basic/list.skin.php              : value='<?=stripslashes($stx)?>' 代替

4.32.08 (10.08.25)
    :   url_auto_link() 完善
    
        lib/common.lib.php 

4.32.07 (10.08.23)
    :   [安全补丁] 完善XSS(Cross Site Scripting) 攻击防御
    :   修正会员积分低于0时在设定发帖需要积分的论坛发贴时出现的错误
    :   会员注册时条款内容checkbox更改为radio  (韩国信产部建议)
    :   更改会员生日选择方式为jquery datepicker

        common.php
        bbs/write.php
        skin/member/basic/register.skin.php
        skin/member/basic/register_form.skin.php

2005-5～2010年10前版本更新简要请参考Sir.co.kr官方网站信息。