[도로명주소 보완] 그누보드 4.37.02 > 그누4 다운로드

그누4 다운로드

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

[도로명주소 보완] 그누보드 4.37.02 정보

[도로명주소 보완] 그누보드 4.37.02

첨부파일

gnuboard4.utf8.tgz (1.9M) 272회 다운로드 2014-01-06 12:43:37
gnuboard4.euckr.tgz (1.8M) 118회 다운로드 2014-01-06 12:43:37

본문

4.37.02 (2014.01.03)
    :  XSS 취약점을 해결 (한국인터넷진흥원에서 알려주셨습니다.)

        bbs/new.php

            $mb_id = preg_replace('/[^0-9a-z\-\_]/i', '', $_GET['mb_id']);

    :  도로명주소 보완

        도로명주소 표기방법에 맞게 도로명주소의 참고항목 필드를 하나 더 추가하게 되었습니다.
        회원테이블에 도로명주소 참고항목 필드(mb_addr3) 추가를 위해 관리자 > 회원관리 > 수정을 한번 이상 실행해 주십시오.

        예) http://www.juso.go.kr/street/StreetAbout4.htm
        서울특별시 서초구 반포대로 58, 101동 501호 (서초동, 서초아트자이)
        서울특별시 서초구 반포대로23길6 (서초동)

        adm/member_form.php
        adm/member_form_update.php
        bbs/register_form_update.php
        js/common.js
        skin/member/basic/register_form.skin.php
        skin/member/basic/zip.skin.php

        === 수정사항 ===

        adm/member_form.php

            $mb[mb_addr3]      = get_text($mb[mb_addr3]);
            $mb[mb_addr_jibeon] = get_text($mb[mb_addr_jibeon]);
            ...
            // 도로명주소 참고항목 필드추가
            if(!isset($mb['mb_addr3'])) {
                sql_query(" ALTER TABLE {$g4['member_table']} ADD `mb_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false);
            }
            ...
            <input type=text class=ed name='mb_zip1' size=4 maxlength=3 readonly itemname='우편번호 앞자리' value='<? echo $mb[mb_zip1] ?>'> -
            <input type=text class=ed name='mb_zip2' size=4 maxlength=3 readonly itemname='우편번호 뒷자리' value='<? echo $mb[mb_zip2] ?>'>
            <a href="javascript:;" onclick="win_zip('fmember', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');"><img src='<?=$g4[bbs_img_path]?>/btn_zip.gif' align=absmiddle border=0></a>
            <br><input type=text class=ed name='mb_addr1' size=40 readonly value='<? echo $mb[mb_addr1] ?>'> 기본주소
            <br><input type=text class=ed name='mb_addr2' size=40 itemname='상세주소' value='<? echo $mb[mb_addr2] ?>'> 상세주소
            <br><input type=text class=ed name='mb_addr3' size=40 itemname='참고항목' value='<? echo $mb[mb_addr3] ?>'> 참고항목
            <br><input type="hidden" name="mb_addr_jibeon" value="<?=$mb['mb_addr_jibeon']; ?>">
                <span id="mb_addr_jibeon"><?=($mb['mb_addr_jibeon'] ? '지번주소 : '.$mb['mb_addr_jibeon'] : ''); ?></span>

        adm/member_form_update.php

            mb_addr3        = '$_POST[mb_addr3]',
           
        bbs/register_form_update.php

            mb_addr3        = '$mb_addr3', // if ($w == "")
            ...
            mb_addr3        = '$mb_addr3', // if ($w == "u")

        js/common.js

            // 도로명 우편번호 창
            function win_zip(frm_name, frm_zip1, frm_zip2, frm_addr1, frm_addr2, frm_addr3, frm_jibeon)
            {
                url = g4_path + "/" + g4_bbs + "/zip.php?frm_name="+frm_name+"&frm_zip1="+frm_zip1+"&frm_zip2="+frm_zip2+"&frm_addr1="+frm_addr1+"&frm_addr2="+frm_addr2+"&frm_addr3="+frm_addr3+"&frm_jibeon="+frm_jibeon;
                win_open(url, "winZip", "left=50,top=50,width=616,height=460,scrollbars=1");
            }

        skin/member/basic/register_form.skin.php

            <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td height="25"><input class=ed type=text name='mb_zip1' size=4 maxlength=3 readonly <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 앞자리' value='<?=$member[mb_zip1]?>' style="vertical-align:middle">
                    -
                    <input class=ed type=text name='mb_zip2' size=4 maxlength=3 readonly <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 뒷자리' value='<?=$member[mb_zip2]?>' style="vertical-align:middle">
                    &nbsp;<a href="javascript:;" onclick="win_zip('fregisterform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');" align=absmiddle><img width="74" height="20" src="<?=$member_skin_path?>/img/post_search_btn.gif" border=0 align=absmiddle></a></td>
            </tr>
            <tr>
                <td height="25" colspan="2"><input class=ed type=text name='mb_addr1' size=60 readonly <?=$config[cf_req_addr]?'required':'';?> itemname='기본주소' value='<?=$member[mb_addr1]?>'> 기본주소</td>
            </tr>
            <tr>
                <td height="25" colspan="2"><input class=ed type=text name='mb_addr2' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='상세주소' value='<?=$member[mb_addr2]?>'> 상세주소</td>
            </tr>
            <tr>
                <td height="25" colspan="2"><input class=ed type=text name='mb_addr3' size=60 readonly itemname='참고항목' value='<?=$member[mb_addr3]?>'> 참고항목</td>
            </tr>
            <tr>
                <td height="25" colspan="2">
                    <input type="hidden" name="mb_addr_jibeon" value="<?=$member['mb_addr_jibeon']; ?>">
                    <span id="mb_addr_jibeon"><?=($member['mb_addr_jibeon'] ? '지번주소 : '.$member['mb_addr_jibeon'] : ''); ?></span>
                </td>
            </tr>
            </table>

        skin/member/basic/zip.skin.php

            function put_data(zip1, zip2, addr1, addr3, jibeon)
            {
                var of = window.opener.document.<?php echo $frm_name; ?>;

                of.<?php echo $frm_zip1; ?>.value = zip1;
                of.<?php echo $frm_zip2; ?>.value = zip2;
                of.<?php echo $frm_addr1; ?>.value = addr1;
                of.<?php echo $frm_addr2; ?>.value = "";
                of.<?php echo $frm_addr3; ?>.value = addr3;

                $('#<?php echo $frm_jibeon; ?>', opener.document).text("지번주소 : "+jibeon);

                if(of.<?php echo $frm_jibeon; ?> !== undefined)
                    of.<?php echo $frm_jibeon; ?>.value = jibeon;

                window.close();
            }

댓글 전체

회원테이블에 도로명주소 참고항목 필드(mb_addr3) 추가를 위해 관리자 > 회원관리 > 수정을 한번 이상 실행해 주십시오. 를 실행을 했는데도 데이터베이스에 mb_addr3 필드가 실행이 저는 안되네여...ㅡㅡ
맨위
<?
include_once("./_common.php");

$mb_id = preg_replace('/[^0-9a-z\-\_]/i', '', $_GET['mb_id']);

$g4[title] = "최근 게시물";

include_once("./_common.php"); 다음에 넣으시면 되여
원본을 보지 않았지만,
if ($mb_id)
    $sql_common .= " and a.mb_id = '$mb_id' ";

이 부분이 좀 더 맞아 보입니다.

if ($_GET['mb_id']) {
    $mb_id = preg_replace('/[^0-9a-z\-\_]/i', '', $_GET['mb_id']);
    $sql_common .= " and a.mb_id = '$mb_id' ";
}

그런데 id 값에 . <-- 점 까지 들어가도 괜찮아 보입니다.

> ([^\w-.]+)
답변 고맙습니다. 그런데, 위 설명이 잘 이해가.. ^^;;;

---------------------------------------------------------
if ($mb_id)
    $sql_common .= " and a.mb_id = '$mb_id' ";

대신, 아래 소스로 교체하라는 말씀이신가요?

if ($_GET['mb_id']) {
    $mb_id = preg_replace('/[^0-9a-z\-\_]/i', '', $_GET['mb_id']);
    $sql_common .= " and a.mb_id = '$mb_id' ";
}

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






그리고,  아래 글은 무슨 의미인지?
---------------------------------------------------------
그런데 id 값에 . <-- 점 까지 들어가도 괜찮아 보입니다.

> ([^\w-.]+)
---------------------------------------------------------
전체 220 |RSS
그누4 다운로드 내용 검색

회원로그인

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