[보안패치] 그누보드 4.33.03 > 그누4 다운로드

그누4 다운로드

여러분께서 보고 계시는 이 사이트는 그누보드4 최신버전으로 제작, 운영되고 있습니다.
SIR은 그누보드를 만들 뿐 프로그램의 설치, 운영방법, 설정문제에 관한 도움을 드리지는 않습니다.

[보안패치] 그누보드 4.33.03 정보

[보안패치] 그누보드 4.33.03

첨부파일

gnuboard4.tgz (1.8M) 445회 다운로드 2011-02-10 23:25:39
gnuboard4.utf8.tgz (1.9M) 244회 다운로드 2011-02-10 23:25:39

본문

4.33.03 (11.02.10)
    :  회원권한 코드 수정 (코타군님)
    :  글읽기 포인트가 설정되어 있을때 글읽기 레벨이 1로 설정되어 있으면 포인트 차감이 제대로 되지 않던 오류 수정 (forever님, 진서기님)
    :  [보안패치] 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이고 등록된 아이피가 같다면 자신의 글이므로 통과
                    ;
                } 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 (검색 정렬 필드)
            }

댓글 전체

common.php  패치 후
/adm/board_list.php 에서 선택 수정 하면 오류가 발생 합니다.

select count(*) as cnt from g4_board a where (1) order by agr_idabo_table asc
1054 : Unknown column 'agr_idabo_table' in 'order clause'
error file : /adm/board_list.php
감사합니다.

패치후 게시판 생성시 아래와같은 오류가 발생되네요.(euc-kr버전)
common.php 파일 이전 버전것으로 사용하면 이상없구요.
========================================================

select count(*) as cnt from g4_board a where (1) and ( (agr_id like '%G01%') ) order by a.gr_id, a.bo_table asc

1054 : Unknown column 'agr_id' in 'where clause'

error file : /adm/board_list.php
방금전 수정 패치 했는데도 저도 같은 에러가 나네요...

select count(*) as cnt from g4_board a where (1) order by agr_idabo_table asc

1054 : Unknown column 'agr_idabo_table' in 'order clause'

error file : /adm/board_list.php
저도 수정패치 한후해도 에러나네요.
select count(*) as cnt from g4_board a where (1) order by agr_idabo_table asc

1054 : Unknown column 'agr_idabo_table' in 'order clause'

error file : /adm/board_list.php
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 (검색 정렬 필드)
            }

를 변경합니다.

불편을 드려 죄송합니다.
$member 가 아니라 $mb 입니다. 수정하려는 대상의 레벨을 갖고와야 하니까요.



<td>회원 권한</td>
<td><?=get_member_level_select("mb_level", 1, $member[mb_level], $mb[mb_level])?></td>



// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected='', $event='')
{
    global $g4;

    $str = "<select name='$name' $event>";
    for ($i=$start_id; $i<=$end_id; $i++)
    {
        $str .= "<option value='$i'";
        if ($i == $selected)
            $str .= " selected";
        $str .= ">$i</option>";
    }
    $str .= "</select>";
    return $str;
}
bbs/board.php?bo_table=photo1&sca=자연/거리 

이런식으로 주소가 돼있는데 출력이 되지않습니다.
 common.lib.php 이전파일로 교체하면 잘 되고요...
전체 220 |RSS
그누4 다운로드 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT