diff --git a/HISTORY b/HISTORY deleted file mode 100644 index 1b1a70b1e..000000000 --- a/HISTORY +++ /dev/null @@ -1,3740 +0,0 @@ -4.36.19 (2013.02.26) - : form 태그의 action 속성을 이용한 XSS 취약점 해결 (i2sec 13기 박성진님께서 직접 알려 주셨습니다.) - 이 취약점은 ie 브라우저에서만 발생하는 것으로 알려져 있습니다. - - lib/common.lib.php 의 bad_tag_convert() 함수중에서 - - return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $code); - - 를 - - return preg_replace("/\<([\/]?)(script|iframe|form)([^\>]*)\>?/i", "<$1$2$3>", $code); - - 와 같이 수정 하였습니다. - -4.36.18 (2013.02.22) - : iframe 태그에 주석문을 사용한 XSS 취약점 해결 (i2sec 13기 김태현님께서 직접 알려 주셨습니다.) - 기존 코드의 위치를 바꿔서 해결 했습니다. - - lib/common.lib.php 의 conv_content() 함수중에서 - - $content = bad_tag_convert($content); - 이 코드의 위치가 변경 되었습니다. - -4.36.17 (2013.02.22) - : 게시물 링크를 통한 XSS 취약점 해결 (서울 대원고등학교 현성원님께서 한국인터넷진흥원을 통하여 알려 주셨습니다.) - 링크에는 HTML 태그를 사용하지 못하도록 조치 하였습니다. - - bbs/write_update.php 에 아래와 같이 두줄 수정해 주시면 됩니다. - - $wr_link1 = mysql_real_escape_string(strip_tags($_POST['wr_link1'])); - $wr_link2 = mysql_real_escape_string(strip_tags($_POST['wr_link2'])); - -4.36.16 (2013.02.14) - : XSS 취약점 해결 (i2sec 황도경님께서 알려 주셨습니다.) - 파일명에 특수문자가 포함되는 경우에 발생할수 있어 파일명을 필터링 하였습니다. - - bbs/write_update.php 에 한줄 추가해 주시면 됩니다. - - $filename = preg_replace('/(\s|\<|\>|\=|\(|\))/', '_', $filename); - -4.36.15 (2013.02.06) - : SQL Injection 취약점 해결 - 김동현(Stealth) 님께서 한국인터넷진흥원(KISA)을 통하여 알려 주셨습니다. - - ※ php.ini 또는 .htaccess 에서 register_globals = On, magic_quotes_gpc = Off 으로 설정하였을 경우에만 해당됩니다. - - bbs/memo_view.php 의 SQL 코드 위에 아래와 같이 한줄 추가해 넣으시면 됩니다. - - $me_id = (int)$me_id; - - bbs/memo_delete.php 의 SQL 코드 위에 아래와 같이 한줄 추가해 넣으시면 됩니다. - - $me_id = (int)$me_id; - -4.36.14 (2013.02.02) - : 오타로 인한 XSS 취약점 해결 - ㈜윈스테크넷 침해사고대응센터에서 한국인터넷진흥원(KISA)을 통하여 알려 주셨습니다. - - lib/common.lib.php 를 다음과 같이 수정 하였습니다. - - //$pattern .= "(i|&#(x6a|105);?)"; - $pattern .= "(i|&#(x69|105);?)"; - -4.36.13 (2013.01.29) - : iframe 등의 tag 에 주석 처리가 되어 있는 경우의 (/**/) XSS 취약점 해결 - 장원용 님께서 한국인터넷진흥원(KISA)을 통하여 알려 주셨습니다. - - lib/common.lib.php 를 다음과 같이 수정 하였습니다. - - // tag 내의 주석문 무효화 하기 - function bad130128($matches) - { - $str = $matches[2]; - return '<'.$matches[1].preg_replace('#(\/\*|\*\/)#', '', $str).'>'; - } - ... - $content = preg_replace_callback("/<([^>]+)>/s", 'bad130128', $content); - -4.36.12 (2013.01.09) - : XSS 취약점 해결, 패치된 내역 수정 보완 - UN Security팀에서 한국인터넷진흥원을 통하여 알려 주셨습니다. - - lib/common.lib.php 의 아래 코드가 추가 되었습니다. - - $content = preg_replace_callback("#style\s*=\s*[\"\']?[^\"\']+[\"\']?#i", - create_function('$matches', 'return str_replace("\\\\", "", stripslashes($matches[0]));'), $content); - - : session_unregister 는 PHP 5.3 이상 에서 더이상 사용되지 않고 PHP 5.4 에서 사라지는 함수입니다. - unset($_SESSION['const']) 로 대체합니다. - 김선용 님께서 알려 주셨습니다. - - bbs/formmail_send.php - bbs/member_leave.php - bbs/memo_form_update.php - bbs/password_lost2.php - bbs/register_form_update.php - bbs/write_comment_update.php - bbs/write_update.php - -4.36.11 (2012.12.13) - : 글읽기에서 실행되는 XSS 취약점 보완 - UN Security팀에서 한국인터넷진흥원을 통하여 알려 주셨습니다. - - lib/common.lib.php 에 아래와 같이 추가합니다. - - // 와 같은 코드에 취약점이 있어 수정함. 121213 - $content = preg_replace("/(?<=style)(\s*=\s*[\"\']?xss\:)/i", '="__XSS__', $content); - -4.36.10 (2012.12.04) - : 크롬에서만 실행되는 XSS 취약점 보완 - 서울 대원고등학교 현성원님 께서 한국인터넷진흥원을 통하여 알려 주셨습니다. - - common.php 에 아래와 같이 추가합니다. - - // 코드 $sfl 변수값에서 < > ' " % = ( ) 공백 문자를 없앤다. - $sfl = preg_replace("/[\<\>\'\"\%\=\(\)\s]/", "", $sfl); - -4.36.09 (2012.11.30) - : 게시판에서 DHTML 에디터를 사용하지 않고 html 글을 작성하는 경우에 XSS 취약점이 발견되어 보완합니다. - 윤태성(삽지리)님 께서 한국인터넷진흥원을 통하여 알려 주셨습니다. - - lib/common.lib.php 를 아래와 같이 수정합니다. - - //$content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content); - $content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "_$1$2_", $content); - -4.36.08 (2012.11.01) - : SQL Injection 취약점 보완 (Stealth in BlackFalcon 김동현님께서 한국인터넷진흥원을 통하여 알려 주셨습니다.) - 단, register_globals = On, magic_quotes_gpc = Off 설정을 만족하는 경우에만 해당됩니다. - : 태그에 포함되지 않은 expression 속성이 변환되는 것을 방지 - - bbs/memo_form.php 의 - - $me_id = mysql_real_escape_string($me_id); - - lib/common.lib.php 의 - - //$content = preg_replace("/".$pattern."/i", "__EXPRESSION__", $content); - $content = preg_replace("/<[^>]*".$pattern."/i", "__EXPRESSION__", $content); - -4.36.07 (2012.10.23) - : 일부 브라우저에서 template.xml 로딩 오류 발생으로 인하여 template.xml 코드를 cheditor.js 에 포함시켜서 해결함. - (CHSOFT 나창호님께서 도움 주셨습니다.) - - cheditor5/cheditor.js 수정 - cheditor5/template.xml 삭제 (그냥 둬도 상관 없음) - -4.36.06 (2012.10.12) - : [보안] XSS 취약점 보완 (unsecurity 김강섭님께서 한국인터넷진흥원을 통하여 알려 주셨습니다.) - - lib/common.lib.php - - // 이런 경우를 방지함 - //$content = preg_replace("#\/\*.*\*\/#iU", "", $content); - // 위의 정규식이 아래와 같은 내용을 통과시키므로 not greedy(비탐욕수량자?) 옵션을 제거함. ignore case 옵션도 필요 없으므로 제거 - // - $content = preg_replace("#\/\*.*\*\/#", "", $content); - -4.36.05 (2012.09.24) - : 우편번호 2012.07.13.자 반영 52,017건 - - bbs/zip.db - -4.36.04 (2012.08.22) - : 플래시 플레이어 업그레이드로 인한 에디터 파일업로드에 문제가 생겨 cheditor 5.04 에서 cheditor 5.09.2 로 업데이트 합니다. - : 4.36.03 에서 추가된 CHARSET 관련 패치를 제거합니다. 일부 페이지들과의 호환성에서 문제가 있었습니다. - - cheidtor5/* - - common.php 에 - - header("Content-Type: text/html; charset={$g4['charset']}"); 를 제거했습니다. - -4.36.03 (2012.07.20) - : [보안] 비회원 글쓰기에서 다른 사람의 글에 수정할수 있는 오류가 있어 수정 (이준호님께서 알려 주셨습니다.) - : 공백 비교 코드 오류로 인한 수정 (letsgolee님께서 알려 주셨습니다.) - : CHARSET 고정 - 상,하단 레이아웃을 사용하지 않는 경우 경고창등이 깨지는 경우를 방지 (곱슬최씨님께서 제안해 주셨습니다.) - - bbs/write.php - - set_session('ss_bo_table', $_REQUEST['bo_table']); - set_session('ss_wr_id', $_REQUEST['wr_id']); - - bbs/write_update.php - - if (get_session('ss_bo_table') != $_POST['bo_table'] || get_session('ss_wr_id') != $_POST['wr_id']) { - alert('올바른 방법으로 수정하여 주십시오.'); - } - - lib/common.lib.php 의 check_string() 함수중 - - else if ($oc >= 0x20) { 를 - else if ($oc == 0x20) { 와 같이 수정했습니다. - - common.php 에 - - header("Content-Type: text/html; charset={$g4['charset']}"); 를 추가했습니다. - -4.36.02 (2012.06.27) - : 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다. (i2sec 김준규님께서 알려 주셨습니다.) - value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다. - : 4.36.01 의 코드에 오류가 있어 수정했습니다. - - lib/common.lib.php 의 아래 코드를 수정 및 추가하십시오. - - $content = preg_replace_callback("#<([^>]+)#", create_function('$m', 'return "<".str_replace("<", "<", $m[1]);'), $content); - $content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content); - - // 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다. - // value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다. - $content = preg_replace("/((?<=\]+)(\s*=\s*[\'\"]?)always([\'\"]?)([^>]+(?=\>))/i", "$1$2never$3$4", $content); - -4.36.01 (2012.06.26) - : XSS 취약점 수정 보완 (i2sec 강우석님께서 원인과 해결책을 모두 알려 주셨습니다.) - 기존코드에 헛점이 있어 코드를 수정 보완 하였습니다. - - lib/common.lib.php 의 conv_content() 함수에 아래와 같이 한줄 추가 하였습니다. - - $content = preg_replace_callback("#<([^>]+)#", create_function('$m', 'return "<".htmlspecialchars($m[1], ENT_NOQUOTES);'), $content); - -4.36.00 (2012.06.21) - : DB SESSION 의 MySQL 과부하로 인하여 기존의 FILE SESSION 으로 되돌림 - - - data/session 디렉토리를 생성하신 후 - chmod 777 data/session 명령으로 세션데이터 쓰기가 가능하도록 퍼미션을 변경하시기 바랍니다. - - - data/session 디렉토리에 deny from all 과 같은 내용으로 .htaccess 파일을 생성하십시오. - - - common.php 를 아래와 같이 수정하십시오. - - //------------------------------------------- - // SESSION 설정 - //------------------------------------------- - ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음 - ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.) - - session_save_path("{$g4['path']}/data/session"); - - if (isset($SESSION_CACHE_LIMITER)) - @session_cache_limiter($SESSION_CACHE_LIMITER); - else - @session_cache_limiter("no-cache, must-revalidate"); - - //============================================================================== - // 공용 변수 - //============================================================================== - // 기본환경설정 - // 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음 - $config = sql_fetch(" select * from $g4[config_table] "); - - ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분) - ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection 존재 기간을 지정 (초) - ini_set("session.gc_probability", 1); // session.gc_probability는 session.gc_divisor와 연계하여 gc(쓰레기 수거) 루틴의 시작 확률을 관리합니다. 기본값은 1입니다. 자세한 내용은 session.gc_divisor를 참고하십시오. - ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probability와 결합하여 각 세션 초기화 시에 gc(쓰레기 수거) 프로세스를 시작할 확률을 정의합니다. 확률은 gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에 GC 프로세스를 시작할 확률이 1%입니다. session.gc_divisor의 기본값은 100입니다. - - session_set_cookie_params(0, "/"); - ini_set("session.cookie_domain", $g4['cookie_domain']); - - @session_start(); - -4.35.02 (2012.06.15) - : 4.35.01 의 세션테이블 생성할때 utf-8 사용시 세션테이블을 utf8 로 생성 (내일을위하여 님이 알려주시고 모바일님이 해결해 주셨습니다.) - - lib/dbsession.lib.php 에 추가하세요. - - if (strtolower($g4['charset']) == 'utf-8') { - $sql .= " DEFAULT CHARSET=utf8 "; - } - -4.35.01 (2012.06.13) - : 4.35.00 에서 cookie_domain 의 설정등이 누락되어 서브도메인간의 세션 공유가 되지 않던 오류를 수정 (cosy님께서 알려주셨습니다.) - : 세션 데이터의 유지시간이 기본 1440초(24분)으로 짧아 10800초(3시간) 동안 유지되도록 수정 - : 세션 테이블 생성시 날짜시간에 인덱스를 추가 - - common.php 를 아래와 같이 수정하세요. - - //------------------------------------------- - // SESSION 설정 - //------------------------------------------- - include_once("$g4[path]/lib/dbsession.lib.php"); - $session = new g4_dbsession(); - session_set_save_handler(array($session, 'open'), - array($session, 'close'), - array($session, 'read'), - array($session, 'write'), - array($session, 'destroy'), - array($session, 'gc')); - - session_set_cookie_params(0, "/"); - ini_set("session.cookie_domain", $g4['cookie_domain']); - ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분) 180분 == 3시간 - ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection 존재 기간을 지정 (초) 10800초 == 3시간 - ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음 - ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.) - - if (isset($SESSION_CACHE_LIMITER)) - @session_cache_limiter($SESSION_CACHE_LIMITER); - else - @session_cache_limiter("no-cache, must-revalidate"); - - @session_start(); - //------------------------------------------- - - lib/dbsession.lib.php 를 아래와 같이 수정하세요. - - $sql = " CREATE TABLE `$g4[session_table]` (`ss_id` CHAR(32) NOT NULL, `ss_data` TEXT NOT NULL, `ss_datetime` DATETIME NOT NULL, PRIMARY KEY (`ss_id`), KEY `ss_datetime` (`ss_datetime`)) ENGINE = MYISAM "; - -4.35.00 (2012.06.12) - : SESSION Data 가 노출되지 않도록 DB SESSION 사용 (HSEngine 님께서 알려 주셨습니다.) - : $_SERVER['PHP_SELF'] 변수를 사용한 XSS 취약점 수정 - - lib/dbsession.lib.php 파일 추가 - - config.php 파일에 추가하세요. - - $g4['session_table'] = $g4['table_prefix'] . "session"; // 세션 테이블 - - common.php 파일에서 - - SESSION 관련 코드를 모두 삭제하신 후 아래 코드로 대체하세요. - - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - $_SERVER['PHP_SELF'] = htmlentities($_SERVER['PHP_SELF']); - - //------------------------------------------- - // SESSION 설정 - //------------------------------------------- - include_once("$g4[path]/lib/dbsession.lib.php"); - $session = new g4_dbsession(); - session_set_save_handler(array($session, 'open'), - array($session, 'close'), - array($session, 'read'), - array($session, 'write'), - array($session, 'destroy'), - array($session, 'gc')); - - ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음 - ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.) - - if (isset($SESSION_CACHE_LIMITER)) - @session_cache_limiter($SESSION_CACHE_LIMITER); - else - @session_cache_limiter("no-cache, must-revalidate"); - - @session_start(); - //------------------------------------------- - //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - -4.34.30 (2012.05.29) - : 4.34.28 의 검색 구문 수정후 게시판에서 분류 검색이 되지 않는것을 수정 - - lib/common.lib.php 의 get_sql_search() 함수가 수정 되었습니다. - -4.34.29 (2012.05.27) - : 4.34.28 패치에서 embed 태그중 allowscriptaccess 코드를 script 로 인식하여 동영상 작동이 안되는것을 수정 - - lib/common.lib.php 의 bad120422() 함수가 수정 되었습니다. - - function bad120422($matches) - { - $tag = $matches[1]; - $code = $matches[2]; - if (preg_match("#\bscript\b#i", $code)) { - return "$tag 태그에 스크립트는 사용 불가합니다."; - } else if (preg_match("#\bbase64\b#i", $code)) { - return "$tag 태그에 BASE64는 사용 불가합니다."; - } - return $matches[0]; - } - -4.34.28 (2012.05.24) - : 게시판 검색시 검색어에 태그가 들어가는 경우 쿼리 에러가 나는것을 수정 (곱슬최씨님께서 알려 주셨습니다.) - get_sql_search() 함수 수정 - : [보안패치] XSS 취약점 오류 수정 (i2sec 하동민님께서 알려 주셨습니다.) - conv_content(), bad120422() 함수 수정 - - lib/common.lib.php - -4.34.27 (2012.05.22) - : [보안패치] SQL Injection 공격 취약점을, 김동현(BlackFalcon)님께서 한국인터넷진흥원을 통하여 알려 주셨습니다. - - bbs/download.php 에 아래 코드를 한줄 추가해 주시기 바랍니다. - - $no = (int)$no; - -4.34.26 (2012.05.03) - : 4.34.23 에서 이상 없는 OBJECT 태그의 반환이 제대로 되지 않던 오류 수정 (곱슬최씨님께서 고쳐 주셨습니다.) - - lib/common.lib.php 의 - - function bad120422($matches) - { - $code = $matches[1]; - if (preg_match("#script#i", $code)) { - return "OBJECT 태그에 스크립트는 사용 불가합니다."; - } else if (preg_match("#base64#i", $code)) { - return "OBJECT 태그에 BASE64는 사용 불가합니다."; - } - return $matches[0]; // 이 코드가 추가 되었습니다. - } - -4.34.25 (2012.04.30) - : [보안강화] 설치시 data 디렉토리에 .htaccess 파일을 생성하여 data 디렉토리 및 하위 디렉토리에서는 - .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl 파일을 실행 할 수 없습니다. - - 기존에 운영중인 사이트에서는 data 디렉토리에 .htaccess 파일을 아래와 같은 내용으로 작성하십시오. - - - Order allow,deny - Deny from all - - -4.34.24 (2012.04.23) - : 4.34.23의 conv_content() 함수내에 함수가 선언되어 그누보드외 프로그램에서 오류가 발생했습니다. - bad120422() 함수를 conv_content() 바깥으로 이동시켜 해결하였습니다. (지니아빠님께서 알려 주셨습니다.) - - lib/common.lib.php - -4.34.23 (2012.04.22) - : [XSS] OBJECT 태그에서 javascript를 실행할수 있는 버그를 수정 (i2Sec 8기 하동민님께서 알려 주셨습니다.) - : [XSS] 글쓰기시 이름에 HTML 태그가 입력되지 못하도록 수정 (i2Sec 8기 강우창님께서 알려 주셨습니다.) - : login, logout시 외부로 리다이렉트 할 우려가 있어 url에 도메인을 지정하지 못하도록 수정 (i2Sec 8기 조민기님께서 알려 주셨습니다.) - : cheditor4의 삭제 코드에 문제가 있어 이번 버전부터는 cheditor4는 제외하고 배포합니다. (i2Sec 8기 조민기님께서 알려 주셨습니다.) - : 이외에도 i2Sec 8기 여러분들께서 SQL Injection 등의 오류를 알려 주셨으나 그누보드4가 소스코드를 오픈하고 있으므로 - 해당 오류는 SQL Injection으로 보기 어렵습니다. 도움주신 i2Sec 8기 여러분들께 감사의 말씀을 전합니다. - - lib/common.lib.php 의 - - function bad120422($matches) - { - $code = $matches[1]; - if (preg_match("#script#i", $code)) { - return "OBJECT 태그에 스크립트는 사용 불가합니다."; - } else if (preg_match("#base64#i", $code)) { - return "OBJECT 태그에 BASE64는 사용 불가합니다."; - } - } - - // object 태그에서 javascript 코드 막기 - $content = preg_replace_callback("#]+)>#i", "bad120422", $content); - - bbs/write_update.php 의 - - $wr_name = strip_tags(mysql_escape_string($_POST['wr_name'])); - - bbs/login.php - bbs/logout.php 의 - - $p = parse_url($url); - if ($p['scheme'] || $p['host']) { - alert("url에 도메인을 지정할 수 없습니다."); - } - -4.34.22 (2012.03.30) - : 2012년 3월 30일 부터 시행되는 개인정보보호법으로 인해 회원가입시 주민등록번호를 입력 받지 못하도록 수정 - - adm/config_form.php - bbs/register_form.php - skin/member/basic/register.skin.php - -4.34.21 (2012.03.09) - : [보안패치] 파일명을 이용한 XSS 취약점 수정 (wh1ant님께서 도움 주셨습니다.) - : UTF-8 사용시 링크에서 한글이 깨지던 오류 수정 (forever님, NaviGator님께서 도움 주셨습니다.) - - - skin/board/basic/view.skin.php 을 아래와 같이 수정하세요. - - echo ""; - ... - if (confirm("'"+decodeURIComponent(file)+"' 파일을 다운로드 하시면 포인트가 차감(점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?")) - - - lib/common.lib.php 의 function url_auto_link($str) 에서 - - $str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1\\2", $str); - 를 - - global $g4; - ... - if (strtoupper($g4['charset']) == 'UTF-8') { - $str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1\\2", $str); - } else { - $str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1\\2", $str); - } - 로 수정하세요. - - -4.34.20 (2012.03.02) - : UTF-8 사용시 cut_str 함수가 제대로 작동되지 않던 부분을 수정 (곱슬최씨님께서 도움 주셨습니다.) - 거친마루님의 팁이 적용 되었습니다. - http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=1328#c_1355 - : 우편번호 2012.01.26.자 반영 51,898건 (FM2fmedia님께서 도움 주셨습니다.) - - lib/common.lib.php 의 cut_str() 함수 수정 - bbs/zip.db - -4.34.19 (2012.01.17) - : 특정 서버에 따라 캡챠이미지의 결과를 인식하지 못하는 오류를 수정 - (해외 서버에서 euc-kr 을 사용하는 경우에 오류가 보고된바 있습니다.) - - bbs/kcaptcha_result.php 에 아래 코드가 한줄 추가 되었습니다. - - header("Content-Type: text/html; charset=$g4[charset]"); - -4.34.18 (2012.01.03) - : PHP 버전에 따른 basic 회원 스킨 사용시 euc-kr 버전에서 ajax 가 제대로 작동되도록 수정 (konahn님) - - skin/member/basic/_common.php 를 아래와 같이 수정하십시오. - - $g4_path = "../../.."; // common.php 의 상대 경로 - include_once("$g4_path/common.php"); - header("Content-Type: text/html; charset=$g4[charset]"); // 추가된 코드 - - -4.34.17 (11.12.09) - : [보안패치] 게시물 검색시 $sfl 변수를 이용하여 패스워드 유추가 가능한 부분을 수정 (i2Sec-김세연[kaist]님) - - bbs/search.php 의 - - switch ($field[$k]) - { - case "mb_id" : - case "mb_name" : - $str .= "$field[$k] = '$s[$i]'"; - break; - default : - if (preg_match("/[a-zA-Z]/", $search_str)) - $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))"; - else - $str .= "INSTR($field[$k], '$search_str')"; - break; - } - - 위 코드를 - - switch ($field[$k]) - { - case "mb_id" : - case "wr_name" : - $str .= "$field[$k] = '$s[$i]'"; - break; - case "wr_subject" : - case "wr_content" : - if (preg_match("/[a-zA-Z]/", $search_str)) - $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))"; - else - $str .= "INSTR($field[$k], '$search_str')"; - break; - default : - $str .= "1=0"; // 항상 거짓 - break; - } - - 위와 같이 수정하여 주십시오. - - - lib/common.lib.php 의 - - switch ($field[$k]) { - case "mb_id" : - case "wr_name" : - $str .= " $field[$k] = '$s[$i]' "; - break; - case "wr_hit" : - case "wr_good" : - case "wr_nogood" : - $str .= " $field[$k] >= '$s[$i]' "; - break; - // 번호는 해당 검색어에 -1 을 곱함 - case "wr_num" : - $str .= "$field[$k] = ".((-1)*$s[$i]); - break; - // LIKE 보다 INSTR 속도가 빠름 - default : - if (preg_match("/[a-zA-Z]/", $search_str)) - $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))"; - else - $str .= "INSTR($field[$k], '$search_str')"; - break; - } - - 위 코드를 - - switch ($field[$k]) { - case "mb_id" : - case "wr_name" : - $str .= " $field[$k] = '$s[$i]' "; - break; - case "wr_hit" : - case "wr_good" : - case "wr_nogood" : - $str .= " $field[$k] >= '$s[$i]' "; - break; - // 번호는 해당 검색어에 -1 을 곱함 - case "wr_num" : - $str .= "$field[$k] = ".((-1)*$s[$i]); - break; - case "wr_ip" : - case "wr_password" : - $str .= "1=0"; // 항상 거짓 - break; - // LIKE 보다 INSTR 속도가 빠름 - default : - if (preg_match("/[a-zA-Z]/", $search_str)) - $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))"; - else - $str .= "INSTR($field[$k], '$search_str')"; - break; - } - - 위와 같이 수정하여 주십시오. - -4.34.16 (11.11.15) - : [보안패치] XSS 취약점 권고에 대한 수정 (i2Sec-김태형님) - - lib/common.lib.php 의 function conv_content() 에서 - - $content = preg_replace("#\/\*.*\*\/#iU", "", $content); - - 이 코드의 위치를 바꿔 해결함 - -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) - : [보안패치] 회원가입시 홈페이지 필드를 통한 SQL Injection 공격 예방 - : [보안패치] 글수정, 답변시 링크 필드를 통한 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) - : [보안패치] 회원가입 및 수정시 회원테이블 필드에 올바르지 않은 값이 포함될 수 있는 오류가 발견 되었습니다. - (팔팔이님께서 알려 주셨습니다.) - - 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) - : 우편번호 2011.08.30.자 반영 (곱슬최씨님께서 도움 주셨습니다.) - - 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) - : 우편번호 파일 업데이트 2011.07.21 조정내역 - http://zipfinder.co.kr/zipcode/modi_list.htm - : admin.menu300.php.bak 파일은 메뉴로 불러 들이지 않기 - ( pogusm 님께서 도움 주셨습니다. ) - - bbs/zip.db - - 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) - : [보안패치] 파일업로드의 오류를 이용한 XSS 공격 취약점을 수정 ( wh1ant님께서 도움 주셨습니다. ) - php.ini 의 magic_quotes_gpc = Off 로 사용하는 경우에만 오류가 발생합니다. - : [보안패치] CHEDITOR5 에서 허가받지 않은 파일 삭제 버그가 발견 되었습니다. ( letsgolee님께서 도움 주셨습니다. ) - : 우편번호 파일 업데이트 (잉크님께서 도움 주셨습니다.) - 리 다음에 공란이 없어 "계곡리" 같은 주소가 표시되지 않던 버그를 수정 - - bbs/write_update.php 에 아래 코드를 추가하세요. - - if (!get_magic_quotes_gpc()) { - $upload[$i]['source'] = addslashes($upload[$i]['source']); - } - - - 아래 3개 파일을 교체해 주시기 바랍니다. - - cheditor5/imageUpload/upload.php - cheditor5/imageUpload/delete.php - bbs/zip.db - -4.34.06 (11.06.21) - : [추가보안패치] CHSOFT 대표 나창호님께서 도움 주셨습니다. ( CHEDITOR 제작자 ) - 4.34.05 에서 보완된 패치입니다. - 플래시에서 이미지 파일이 아닌 경우에는 업로드 하지 않습니다. - - 아래 3개 파일을 교체해 주시기 바랍니다. - - cheditor5/imageUpload/upload.php - cheditor5/popup/js/image.js - cheditor5/popup/flash/CHXImage.swf - -4.34.05 (11.06.18) - : [보안패치] CHSOFT 대표 나창호님께서 도움 주셨습니다. ( CHEDITOR 제작자 ) - GIF Exploit 이라고 불리우는 이 공격은 이미지 파일에 PHP 코드를 심어 서버에 업로드 합니다. - CHEDITOR5 버전에만 해당됩니다. - - 참고) 심각한 사안이므로 되도록 빨리 패치해 주시는 것이 좋습니다. - - - 아래 2개 파일을 교체해 주시기 바랍니다. - - cheditor5/imageUpload/upload.php - cheditor5/popup/js/image.js - - - 추가사항) - data 폴더에서 php 나 html 파일을 실행하지 못하게 하려면 아래의 파일을 data 폴더에 만들어 놓으시기 바랍니다. - data 폴더에 하나만 만들어 놓으시면 됩니다. - - 파일명 : .htaccess (파일명 앞에 점이 붙습니다. 숨김 기능을 합니다.) - - 내용 : - - - Order allow,deny - Deny from all - - -4.34.04 (11.05.27) - : 글복사, 이동시 코멘트 삭제, 추가가 있었다면 코멘트가 제대로 복사, 이동되지 않는 버그를 수정하였습니다. - ( 진서기님께서 이미 2009년에 알려주신 버그인데 패치가 늦었습니다. 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 취약점에 대비한 코드 수정 - (한국인터넷진흥원을 통하여 과천고등학교 권혁님께서 취약점과 해결방안을 자세하게 알려주셨습니다.) - : [보안패치] 이미지 태그의 src 속성에 download.php 링크가 있는 경우 게시물을 확인하는 것만으로도 파일의 다운로드가 가능한 취약점 수정 - (국제정보보안센터[i2Sec]의 최종훈님께서 알려주셨습니다.) - - 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 감지 : <$1", $content); - -4.34.02 (11.05.13) - : [보안패치] 이미지 태그의 src 속성에 삭제등의 링크가 있는 경우 게시물을 확인하는 것만으로도 데이터의 위변조가 가능하므로 이것을 막음 - (국제정보보안센터[i2Sec]의 최종훈님께서 알려주셨습니다.) - : 캡챠 코드 변경 (비회원이 코멘트 댓글을 다른 경우 캡챠이미지를 변경할 수 있도록 수정) - (letsgolee 님께서 알려주셨습니다.) - - [보안패치] - - lib/common.lib.php 의 conv_content() 함수에 아래 코드를 추가합니다. - - $content = preg_replace("/<(img[^>]+delete\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content); - $content = preg_replace("/<(img[^>]+delete_comment\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content); - $content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 감지 : <$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 에 추가 또는 수정합니다. - - 추가 - - // 코멘트를 새창으로 여는 경우 세션값이 없으므로 생성한다. - 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 를 아래와 같이 변경합니다. - - 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) - : cheditor v5.04 탑재 (그누보드에서 사용할 수 있게 허락해주신 CHSOFT 나창호 대표님께 감사드립니다. www.chcode.com) - 최신 버전(v5.06)은 약간의 문제가 있어 버전이 약간 낮은것으로 탑재합니다. - 이미지 업로드시 플래시를 사용하는데 .htaccess 에 패스워드를 걸었다던지 하는 경우에는 이미지 업로드가 안됩니다. - 플래시동영상은 코드롤 넣으셔야 합니다. 유튜브의 경우 > 소스코드 > 이전 소스코드 사용으로 나온 코드 - : [보안패치] 4.33.10 의 코드를 보완 하였습니다. (letsgolee 님께서 알려주셨습니다.) - - ======================================================= - cheditor5 적용 방법 (참! 쉽죠! 잉!) - ======================================================= - - cheditor5 폴더 전체 업로드 - - lib/cheditor4.lib.php 교체 - - config.php 에 $g4['is_cheditor5'] = true; 추가 - - skin/board/?????/write.skin.php 의 - - - - 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; - } - } - - - - 이렇게 순서만 바꿔 주세요. - - ======================================================= - - 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']; - - ... - - 추가 - -4.33.11 (11.04.28) - : [보안패치] 4.33.10 의 보안패치에 문제가 있어 다시 패치합니다. - (한국인터넷진흥원을 통하여 Null@Root 소속의 Hacker@n 님께서 다시 알려주셨습니다.) - - * 배포된 소스파일을 열어 사용중인 코드와 비교하여 패치해 주시기 바랍니다. - - 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"); - - ... - - 추가 - -4.33.10 (11.04.27) - : [보안패치] 회원정보수정시 세션에 기록된 패스워드를 알아낼 수 있는 취약점이 발견되었습니다. - (한국인터넷진흥원을 통하여 Null@Root 소속의 Hacker@n 님께서 알려주셨습니다.) - : 게시판복사시 복사되는 게시판 테이블의 CHARSET 이 제대로 생성되지 않는 오류를 수정하였습니다. - ( 밀로즈님께서 알려주셨습니다. ) - - bbs/register_form.php - - // 패스워드를 알아볼 수 없도록 회원가입일시를 넣어서 암호화 함 - set_session("ss_tmp_password", base64_encode($member[mb_datetime].$_POST[mb_password])); - - bbs/register_form_update.php - - // 복호화를 한 후 회원가입일시를 없애주면 원래 패스워드가 나옴 - $tmp_password = preg_replace("/^".$member[mb_datetime]."/", "", base64_decode(get_session("ss_tmp_password"))); - - lib/common.lib.php - - function get_table_define($table, $crlf="\n") - { - global $g4; - - ... - - if (strtolower($g4['charset']) == "utf-8") - $schema_create .= $crlf . ') DEFAULT CHARSET=utf8'; - else - $schema_create .= $crlf . ')'; - -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", "ex$2", $content); - ... - // 이런 경우를 방지함 - $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 "
보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.
";'), - $code); - } - - //return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "<$1$2$3>", $code); - // script 나 iframe 태그를 막지 않는 경우 필터링이 되도록 수정 - return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $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 - - - - 관리자 패스워드 - - - - - - - - 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 "\n"; - echo ""; - } - -4.33.06 (11.02.22) - : [보안패치] 스팸글 등록으로 인한 자동등록방지 캡챠이미지 관련 코드 보완 - - 기존에 PHPSESSID를 사용하였으나 사용자가 PHPSESSID 값을 쉽게 확인할수 - 있으므로 이것을 유추하여 자동등록방지 코드를 알아낼 수 있는 버그가 - 있었습니다. (jacobswell 님께서 알려 주셨습니다.) - 사용자가 확인할수 없도록 코드를 수정하였으며 입력값이 5회이상 틀리면 - 다시 입력을 하도록 하였습니다. - - 참고) 스팸으로 인하여 피해를 입고 계시다면 회원제로 글쓰기 해주실것을 - 권해 드립니다. 비회원 글쓰기의 경우 프로그램 보다는 사람이 글을 - 올리는 것으로 확인 되었습니다. - - js/jquery.kcaptcha.js - bbs/kcaptcha_session.php - bbs/kcaptcha_result.php - - 4.33.05 의 이것(↓↓↓)은 적용하셔야 합니다. - - ------------------------------------------------------------------------- - 기타) 기존 스킨에 대한 패치방법 - ------------------------------------------------------------------------- - - 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.05 (11.02.20) - : [보안패치] 스팸글 등록으로 인한 자동등록방지 캡챠이미지 관련 코드 변경 - - 요즈음의 그누보드 스팸등록기는 캡챠이미지 생성시 나오는 md5 값을 유추하여 - 원래 데이터(숫자)값을 알아내는 방법을 사용합니다. - 쉽게 말씀드리자면 다음과 같습니다. - md5 DB를 아래와 같이 구축해 놓습니다. - - 왼쪽은 md5 해시키이며 오른쪽은 원래 데이터 입니다. - c4ca4238a0b923820dcc509a6f75849b = 1 - c81e728d9d4c2f636f067f89cc14862c = 2 - eccbc87e4b5ce2fe28308fd9f2a7baf3 = 3 - ... - 52c69e3a57331081823331c4e69d3f2e = 999999 - - 가령 js/jquery.kcaptcha.js 의 md5_norobot_key 값이 52c69e3a57331081823331c4e69d3f2e 라면 - md5 DB에서 52c69e3a57331081823331c4e69d3f2e 값을 찾아내어 원 데이터 999999 값을 알아낸다는 것이죠. - (이것은 복호화가 아닙니다. 편법이죠. 어쨌든 뚫렸기 때문에 패치는 해야겠죠?) - 그래서 이번 패치는 원래 데이터에 추가로 PHPSESSID 값을 넣어서 md5 DB 에서 값을 찾아낼 수 없도록 - 만들었습니다. - - - 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 - - - ------------------------------------------------------------------------- - 기타) 기존 스킨에 대한 패치방법 - ------------------------------------------------------------------------- - - 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 에서 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 - - - - -4.33.03 (11.02.10) - : 회원권한 코드 수정 (코타군님) - : 글읽기 포인트가 설정되어 있을때 글읽기 레벨이 1로 설정되어 있으면 포인트 차감이 제대로 되지 않던 오류 수정 (forever님, 진서기님) - : [보안패치] SQL INJECTION 공격에 대비한 코드 수정 (개미인간님) - - adm/member_form.php - - - - 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 (검색 정렬 필드) - } - - -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 태그로도 플래시를 실행할 수 없도록 수정한 코드입니다. (아갈갤러리님) - - lib/common.lib.php - 의 bad_tag_convert() 함수 코드만 수정 - -4.33.00 (11.01.06) - : [보안패치] XSS / CSRF - FLASH 파일의 ACTION SCRIPT로 관리자의 세션값을 알아내고 공유하여 결국에는 관리자권한을 모두 갖게 되는 - 치명적인 오류가 발견 되었습니다. (간단하게 말해서 플래시를 보는것만으로 세션값이 노출됩니다.) - 이것은 해커가 관리권한을 공유하는 것으로 관리자의 패스워드가 노출된것은 아닙니다. - 패치의 주된 내용은 게시판의 다른 회원이 올린 embed 태그는 관리자에게 보여지지 않게 하는 것입니다. - 또한, 세션키가 공개되더라도 관리자 페이지에서 직접 로그인한 관리자인지를 이중으로 체크합니다. - 기본환경설정, 관리권한설정, 회원관리, 포인트관리에는 관리자 패스워드를 다시 물어서 관리권한을 완전히 넘겨주지 않도록 하였습니다. - 이것과 관련된 자세한 내용은 보안뉴스의 내용을 참고하십시오. - http://www.boannews.com/media/view.asp?idx=24280&kind=1 - (i2Sec 교육팀 강성호님께서 알려주신 내용입니다.) - - 아래 패치를 모두 적용하기 힘든 사이트는 중요라고 되어 있는 파일만 수정해 주시기 바랍니다. - - === 중요 === - lib/common.lib.php - 의 bad_tag_convert(), view_file_link() 함수 코드 수정 - skin/board/basic/view_comment.skin.php - 의 $str = preg_replace("/\[\\]/i", "", $str); - 위 코드 제거 또는 주석처리 - bbs/login_check.php - 에 ss_mb_key 세션키 추가 - 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 - -4.32.15 (10.12.28) - : [보안패치] $write_table 변수값 초기화 (몽구스님) - - common.php - -4.32.14 (10.12.07) - : 글쓰기, 코멘트쓰기 메일 발송 코드 수정 - : 코멘트쓰기 포인트설정시 회원의 포인트가 음수인 경우 코멘트를 쓰지 못하던 버그를 수정 (곱슬최씨님) - : 우편번호 파일 변경 (2010년 11월 19일자) - 배추빌더의 우편번호 파일을 적용 (곱슬최씨님) - - bbs/write_update.php - bbs/write_comment_update.php - bbs/zip.db - -4.32.13 (10.11.02) - : [보안패치] 비밀글을 무조건 사용으로 설정한 경우 관리자 이외에는 비밀글을 해제하지 못하도록 수정 (난폭탄님께서 알려 주셨습니다.) - : [보안패치] 다른사람의 글을 수정할 수 있는 버그 수정 (난폭탄님께서 알려 주셨습니다.) - : 회원정보수정시 정보공개 설정 문구 변경 (곱슬최씨님께서 요청해 주셨습니다.) - - bbs/write_update.php - skin/member/basic/register_form.skin.php - -4.32.12 (10.10.21) - : [보안패치] 특정 회원에게 동일한 내용의 스팸 쪽지가 온다면 패치하시기 바랍니다. - : 쪽지의 전송방식을 POST 로만 전송하도록 수정 - : 쪽지전송시 자동등록방지 코드를 적용하여 CSRF를 방지하였습니다. - - 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) - : 아이디/패스워드 찾기 코드 보완 (보안서버 적용 등) - 기존에 사용하던 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() 추가 - - // 위의 패치를 적용하신 후 아래 3개의 파일은 반드시 삭제하시기 바랍니다. - 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='' 로 변경 - -4.32.08 (10.08.25) - : url_auto_link() 함수 코드 보완 - - lib/common.lib.php - -4.32.07 (10.08.23) - : [보안] XSS(Cross Site Scripting) 공격에 의한 데이터 검증 및 차단 기능을 보완하였습니다. (sjsjin 님께서 알려주셨습니다.) - : 회원의 포인트가 0 미만일 경우 게시판의 글쓰기 포인트가 설정된 경우에 나오던 오류를 수정 (곱슬최씨님께서 다시 알려 주셨습니다.) - : 회원가입의 약관선택시 checkbox 에서 radio 선택으로 변경하였습니다. (한국인터넷진흥원 권고) - : 회원가입의 생일 날짜선택시 달력을 jquery datepicker로 사용하도록 수정 - - common.php - bbs/write.php - skin/member/basic/register.skin.php - skin/member/basic/register_form.skin.php - -4.32.06 (10.08.09) - : [보안] XSS(Cross Site Scripting) 공격에 의한 데이터 검증 및 차단 (sjsjin 님께서 알려주셨습니다.) - : 글쓰기, 코멘트쓰기시 욕 단어 필터링 버그 수정 (유창화님, 불당님께서 알려주셨습니다.) - - common.php - skin/board/basic/ajax.filter.php - -4.32.05 (10.07.26) - : 우편번호 2010년 7월 22일자 반영 (51,031건) - : 글쓰기, 코멘트쓰기시 욕 단어 필터링이 외부에서 보이지 않도록 AJAX 처리함 - : 게시판관리에서 게시판복사시 서브디렉토리도 복사가 가능하도록 수정 (김선용님께서 코드를 알려 주셨습니다.) - : 받은쪽지를 타인이 읽은 상태로 변경할 수 있는 오류 수정 (유아원님께서 알려주셨습니다.) - - adm/board_copy_update.php - bbs/memo_view.php - bbs/view_comment.php - bbs/write.php - bbs/zip.db - skin/board/basic/ajax.filter.php - skin/board/basic/view_comment.skin.php - skin/board/basic/write.skin.php - -4.32.04 (10.07.02) - : 게시판 이전, 다음 검색시 1페이지로 이동하도록 수정 (intel님께서 알려주셨습니다.) - : 파일명에 특수문자가 들어간 경우 다운로드 되지 않던 오류 수정 (곱슬최씨님께서 알려주셨습니다.) - : 게시판에서 두단어 이상 검색 후 검색된 게시물에 코멘트를 남기면 나오던 오류 수정 (곱슬최씨님께서 알려주셨습니다.) - : $g4[https_url] 을 지정한 경우 도메인 이외의 추가 경로를 사용하면 로그인시 나던 오류를 수정 - - bbs/view.php - bbs/list.php - lib/common.lib.php - skin/member/basic/login.skin.php - skin/outlogin/basic/outlogin.skin.1.php - -4.32.03 (10.04.30) - : 코멘트 답변시 캡챠이미지, 입력박스 체크가 제대로 표시되지 않던 오류 수정 - : 회원의 포인트가 0 미만일 경우 게시판의 글쓰기 포인트가 설정된 경우에 나오던 오류를 수정 - (곱슬최씨님께서 알려 주셨습니다.) - : 회원메일발송에서 게시판그룹선택시 해당 게시판그룹에 속한 회원이 한명도 없는 경우 나오던 SQL 오류 수정 (웹스타일님께서 알려주셨습니다.) - - adm/mail_select_list.php - bbs/write.php - skin/board/basic/view_comment.skin.php - -4.32.02 (10.03.16) - : 로그인 중인 관리자 레벨 수정시 버그 수정 - : 회원가입시 별명에서 한글을 제대로 인식하지 못하는 버그 수정 - - adm/member_form_update.php - skin/member/basic/ajax_mb_nick_check.php - skin/member/basic/ajax_register_form.jquery.js - -4.32.01 (10.03.12) - : 다양한 플러그인을 사용할 수 있도록 prototype.js 에서 jquery.js 로 대체합니다. - 기존 코드를 유지하기 위하여 js/prototype.js 는 삭제하지 않습니다. - : 2010년 2월 25일자 우편번호로 변경 (곱슬최씨님께서 올려주신 자료입니다.) - : 게시판관리에 cheditor 기능 추가 - - head.sub.php - adm/board_form.php - adm/config_form.php - bbs/zip.db - js/jquery-1.4.2.min.js - js/jquery.kcaptcha.js - skin/board/basic/view_comment.skin.php - skin/board/basic/write.skin.php - skin/member/basic/ajax_register_form.jquery.js - skin/member/basic/formmail.skin.php - skin/member/basic/password_forget2.skin.php - skin/member/basic/register_form.skin.php - -4.31.15 (10.02.08) - : 회원삭제시 주민등록번호도 공란으로 수정 - function member_delete($mb_id) { ... mb_jumin = '', ... - : 접속자현황 OS에 Windows7 추가 (Justin님께서 알려주셨습니다.) - : POSIX Regex 함수 제거 ( ereg_replace, ereg, eregi_replace, eregi, split, spliti, sql_regcase ) - 이 기능은 PHP 5.3.0 부터 배제되고 PHP 6.0.0 부터 제거됩니다. 이 기능에 의존하지 않기를 권합니다. - : 기본시간대를 설정 PHP 5.1 부터 가능 date_default_timezone_set() - : 2009년 제4차 우편번호 변경내역 (2009.12.16.자 : 50,742건) http://www.zipfinder.co.kr - : password_check.php 의 $qstr 에 $sop 추가 - : js/common.js 의 del() 함수에 charset 별로 처리되도록 수정 - - adm/admin.lib.php - adm/board_copy_update.php - adm/board_form_update.php - adm/boardgroup_form_update.php - adm/mail_select_update.php - bbs/download.php - bbs/list.php - bbs/password_check.php - bbs/zip.db - cheditor4/imageupload-class.php - config.php - js/common.js - lib/common.lib.php - lib/mailer.lib.php - lib/visit.lib.php - -4.31.14 (09.10.15) - : 관리자 게시판 등록시 상,하단 이미지, 상, 하단 파일 경로를 통한 보안 취약점 수정 (로빈아빠 님 091015) - - adm/board_form_update.php - -4.31.13 (09.10.14) - : utf-8 버전에서 게시판분류 선택시 제대로 검색되지 않는 오류 수정 - skin/board/basic/list.skin.php 의 - ;"> 와 같이 수정하십시오. - : 한글로 검색후 검색된 글을 삭제하고 다시 목록으로 돌아올때 한글이 깨지는 오류를 수정 (진념님 090930) - bbs/view.php 의 - $delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."');"; 를 - $delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".urldecode($qstr)."');"; 로 수정하십시오. - : 2009년 제3차 우편번호 변경내역 (2009.09.29.자 : 50,554건) http://www.zipfinder.co.kr - - skin/board/basic/list.skin.php - bbs/view.php - bbs/zip.db - -4.31.12 (09.09.25) - : 접속자현황 접속경로에 - 게시판스킨의 write.skin.php - - : 게시판설정 > 수정시 공지사항 없어지던 오류를 수정 - adm/board_form_update.php - - : 투표리스트에서 링크 수정 - 박규석(nosty)님께서 알려 주셨습니다. - adm/poll_list.php - - : 게시판설정 > 수정시 가로이미지수 필드 오류 수정 - 강남호(namo)님께서 알려 주셨습니다. - adm/board_form_update.php - - : 게시판설정에서 HTML 쓰기 권한 수정 - 바리미(koxel)님께서 알려 주셨습니다. - adm/board_form.php - - : 게시판설정에서 스킨 디렉토리 반드시 설정하도록 수정 - adm/board_form.php - - : allow_url_fopen = Off 일 경우 트랙백 오류나던 부분을 수정 (소켓 사용) - lib/trackback.lib.php - -05.04.28 - : 포인트 변환시 오류 수정 - convert/g3_member.php - -05.04.28 - : 정식버전 배포 (안정버전 아님) - -05.04.28 - : 불여우에서 회원정보수정 후 정지하던것을 수정 - : 그누보드3 게시판자료 변환 프로그램 추가 - convert/g3_board.php - : MySQL 관리툴 phpMyAdmin 2.6.2 탑재 - -05.04.27 - : 설치시 implode() 인수 갯수 오류 수정 - : 그누보드3 회원자료 변환 프로그램 추가 - convert/g3_member.php - -05.04.26 - : 코멘트 몇건 이상 등록시 원글 수정, 삭제 불가 기능 추가 - : 게시판 생성 기능 추가 - : 게시판에 상, 하단 이미지 업로드 기능 추가 - : 별명 변경 후 설정일 동안 별명 변경하지 못하는 기능 추가 - : 새글 리스트에 분류검색 기능 추가 - : 전체검색에 분류검색 기능 추가 - -05.04.25 - : bbs/zip2.php 삭제 (새창에서 상세주소를 입력받지 않음) - -05.04.24 - : 카페24 에서 설치 되지 않던 문제와 설치시 Unknown table 'g4_board' 오류 수정 - -05.04.22 - : 그룹접근 사용에 따른 글목록 보기 차단 기능 추가 - : 그룹접근 사용에 따른 검색 차단 기능 추가 - : 최고관리자는 포인트 추가 내역 남기지 않음 - -05.04.21 - : 게시판 테이블의 wr_option 에서 set(html, htmlbr) 을 set(html1, html2) 로 변경 - : 관리자 > 회원정보 수정시 오류 수정 - : 회원가입시 추천인 아이디 입력 부분 수정 - : common.lib.php 의 insert_point() 함수에서 회원아이디를 찾아 없으면 return 함 - : 전체 검색 수정 - : 게시판 검색에서 검색어에 색상 출력 - : common.lib.php 의 search_font() 함수에서 검색어가 없는 경우 return 함 - -05.04.21 오픈 베타 2 배포 - -05.03.29 베타 1 배포 - -그누보드4 이력 ↑ - - -================================================================================ -그누보드4 주요기능 --------------------------------------------------------------------------------- - 1. 가변 파일 업로드 지원 - 2. 관리자 페이지에 가변적으로 메뉴 추가 가능 - 3. 관리자 메뉴별 접근 기능 - 4. 트랙백 기능 - 5. 최근게시물 지원으로 게시판이 많아도 새글을 확인할 수 있음 - 6. 로봇에 의한 글쓰기 차단 기능 - 7. RSS - 8. 게시판별로 포인트 점수를 다르게 부여할 수 있음 - 9. 회원가입시 이메일 본인인증 가능 - 10. 그외 다수 --------------------------------------------------------------------------------- -알려진 버그 --------------------------------------------------------------------------------- - 1. 코멘트가 검색에 포함된 경우 목록에서 정렬(조회순 등등)이 제대로 되지 않습니다. -================================================================================ diff --git a/HISTORY_YC4 b/HISTORY_YC4 deleted file mode 100644 index 3626a79b0..000000000 --- a/HISTORY_YC4 +++ /dev/null @@ -1,1319 +0,0 @@ -주의) 이 패치내역은 영카트4에 대한 패치내역입니다. - 그누보드4에 대한 패치내역은 HISTORY 파일에 있습니다. - 그누보드4는 영카트4와 별도로 패치하셔야 합니다. - 이점 참고하셔서 패치하시기 바랍니다. - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -4.16.03 (2013.01.21) - : 현금영수증을 재발급하지 못하도록 원천 차단 - - kcp/pp_cli_hub.php - - $sql = " select count(*) as cnt from $g4[yc4_order_table] where od_id = '{$_POST['ordr_idxx']}' and od_cash = 1 "; - $row = sql_fetch($sql); - if ($row[cnt]) { - alert("이미 등록된 현금영수증 입니다."); - } - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -4.16.02 (2012.12.20) - : 윈도우즈8, 익스플로러10 에서 제대로 결제가 되지 않던 오류 수정 - - shop/orderconfirm.php 의 아래 코드를 삭제해 주세요. - - echo "

"; - - shop/settle_kcp.inc.php 에 아래 코드를 추가해 주세요. - - /* Payplus Plug-in 실행 */ - function jsf__pay( form ) - { - var RetVal = false; - - /* Payplus Plugin 실행 */ - if ( MakePayMessage( form ) == true ) - { - //openwin = window.open( './kcp/proc_win.php', 'proc_win', 'width=420, height=100, top=300, left=300' ); - openwin = window.open( './kcp/proc_win.php', 'proc_win', 'width=420, height=100, top=300, left=300' ); - RetVal = true ; - } - - else - { - /* res_cd와 res_msg변수에 해당 오류코드와 오류메시지가 설정됩니다. - ex) 고객이 Payplus Plugin에서 취소 버튼 클릭시 res_cd=3001, res_msg=사용자 취소 - 값이 설정됩니다. - */ - res_cd = document.order_info.res_cd.value ; - res_msg = document.order_info.res_msg.value ; - - } - - return RetVal ; - } - ... -

- -4.16.01 (2012.12.17) - : 다음 쇼핑하우, 네이버 지식쇼핑 페이지에서 변수값을 지우지 않고 노출하는 오류를 수정 - - shop/price/daum.php - shop/price/naver.php - -4.16.00 (2012.12.06) - : 공정거래위원회 상품정보제공고시에 따라 상품등록/수정시 "요약상품정보"를 입력할 수 있는 기능 추가 - 아래의 파일이 추가 되거나 수정 되었습니다. - - 추가 - adm/shop_admin/iteminfo.php - adm/shop_admin/iteminfoupdate.php - lib/iteminfo.lib.php - - 수정 - adm/shop_admin/itemform.php - shop.config.php - shop/item.php - -4.15.06 (2012.11.12) - : 오늘본상품 코드 변경 - - head.php - tail.php - -4.15.05 (2012.08.29) - : 익스9에서 관리자 메뉴 위치가 제대로 표시되지 않던 부분 수정 - : 익스9에서 분류 메뉴 위치가 제대로 표시되지 않던 부분 수정 - - adm/admin.head.php - shop/boxcategory.inc.php - -4.15.04 (2012.08.24) - : 휴대폰결제 영수증 링크 수정 - - shop/orderinquiryview.php - -4.15.03 (2012.08.10) - : 2012.08.18 부터 개정 시행되는 '전자상거래 등에서의 소비자보호에 관한 법률'에 따른 코드 변경 - - shop/settle_kcp.inc.php 에 한줄 추가 - - - -4.15.02 (2012.08.06) - : $type 변수를 내부에서 사용하는 경우 유형별 상품리스트에서 오류 발생하지 않도록 수정 - - shop/listtype.php - -4.15.01 (2012.07.03) - : 사용후기에서 "관리자 승인없이 등록"으로 사용할 때 부모창으로 이동하지 않는 오류가 있어 수정 - - shop/itemusewinupdate.php - -4.15.00 (2012.05.25) - : 사용후기에 에디터적용 및 사용후기 리스트 페이지 추가 - - shop/itemusewin.php - shop/itemusewinupdate.php - shop/itemuselist.php - shop/itemuse.inc.php - lib/thumb.lib.php - lib/shop.lib.php - -4.14.68 (2012.04.19) - : 결제금액을 조작하여 결제하는 것을 방지하는 코드를 추가 - - shop/settle_kcp.inc.php - shop/kcp/pp_ax_hub.php - -4.14.67 (2012.03.21) - : 잘못된 옵션값 입력으로 상품을 제대로 등록하지 못하는 경우를 방지 - - adm/shop_admin/itemform.php 의 // 옵션값 검사 코드를 참고하세요. - -4.14.66 (2012.02.20) - : 오늘본상품 정확히 가운데를 기준으로 가변위치에서 출력되도록 코드 수정 - - head.php - tail.php - -4.14.65 (2012.01.18) - : POSIX Regex 함수 제거 ( ereg_replace, ereg, eregi_replace, eregi, split, spliti, sql_regcase ) - 이 기능은 PHP 5.3.0 부터 배제되고 PHP 6.0.0 부터 제거됩니다. 이 기능에 의존하지 않기를 권합니다. - - adm/shop_admin/configform.php - adm/shop_admin/contentformupdate.php - adm/shop_admin/orderprintresult.php - lib/shop.lib.php - lib/icode.sms.lib.php - -4.14.64 (2012.01.18) - : 온라인견적 기능 제거 - - shop/onlinecalc.php - shop/onlinecalcprint.php - adm/shop_admin/onlinecalcform.php - adm/shop_admin/onlinecalcformupdate.php - adm/shop_admin/onlinecalclist.php - -4.14.63 (2012.01.04) - : ie9 에서 플러그인 제대로 설치 및 결제가 되지 않는 경우 주문자님께 아래 파일의 설치를 안내해 주십시오. - http://pay.kcp.co.kr/plugin_new/file/KCPUXWizard.exe - - shop/settle_kcp.inc.php - shop/kcp/chk_plugin.php <-- shop/kcp/chk_plugin.html 에서 파일명 변경 및 코드 수정 - shop/kcp/proc_win.php <-- shop/kcp/proc_win.html 에서 파일명 변경 및 코드 수정 - -4.14.62 (2011.09.06) - : password() 함수대신 sql_password() 함수를 적용 - - shop/orderinquiry.php - -4.14.61 (2011.07.26) - : 현금영수증 발급시 상점아이디 SR 누락으로 인한 RC10 (미등록 가맹점) 메세지가 나오는 오류 수정 - - shop/kcp/pp_cli_hub.php - - $g_conf_site_id = strlen($default[de_kcp_mid]) == 3 ? "SR".$default[de_kcp_mid] : $default[de_kcp_mid]; // 리얼 반영시 KCP에 발급된 site_cd 사용 ex) T0000 - -4.14.60 (2011.07.21) - : 주문상세내역에서 취소된 주문도 다시 결제할 수 있는 오류 수정 - : 장바구니 담기와 바로구매 기능을 분리 - (기존에는 바로구매시 장바구니에 먼저 담긴 상품과 같이 주문됨) - 수정 방법 : http://sir.co.kr/manual/direct/ - : 장바구니에 상품을 담을 경우 https 주소가 제대로 적용되도록 수정 - - extend/shop.extend.php - shop/cartupdate.php - shop/orderform.php - shop/orderformupdate.php - shop/orderinquiryview.php - skin/member/shop_member/login.skin.php - -4.14.53 (2011.06.27) - : 보안서버 주소 적용이 가능하도록 수정 - - shop/cartupdate.php - -4.14.52 (2011.03.30) - : 새로운 캡챠코드 적용 - - skin/board/shop_board/_common.php - skin/board/shop_board/ajax.filter.php - skin/board/shop_board/write.skin.php - skin/board/shop_board/view_comment.skin.php - - skin/board/shop_member/register_form.skin.php - skin/board/shop_member/password_lost.skin.php - skin/board/shop_member/formmail.skin.php - skin/board/shop_member/memo_form.skin.php - - shop/item.php - shop/itemqa.inc.php - shop/itemuse.inc.php - -4.14.51 (2011.03.24) - : 관리자 > 상품리스트 출력 쿼리를 left join 으로 변경하여 속도 향상 - - adm/shop_admin/itemlist.php - -4.14.50 (2011.03.17) - : [보안패치] 스팸글 등록으로 인한 자동등록방지 캡챠이미지 관련 코드 보완 - - shop/itemqa.inc.php - shop/itemuse.inc.php - -4.14.49 (2011.03.11) - : 상품복사시 prompt를 없애고 새창에서 복사하도록 수정 - - adm/shop_admin/item_copy.php - adm/shop_admin/itemlist.php - -4.14.48 (2010.12.03) - : 비회원 주문의 경우 외부에서 직접 링크시 조회가 되던 오류 수정 - - shop/orderinquiry.php - shop/orderinquiryview.php - shop/orderconfirm.php - -4.14.47 (2010.12.03) - : 포인트 사용하지 않을 경우 장바구니 변조에서 오류가 나던것 수정 - - shop/cartupdate.php - -4.14.46 (2010.12.01) - : 옥션 어바웃 가격비교사이트 연동 - - adm/shop_admin/price.php - shop/price/about.php - shop/price/about_new.php - -4.14.45 (2010.12.01) - : 쏜다넷 SMS URL 변경 및 보안키(smskey) 적용 - : 쏜다넷 소스 수정하신 후에 반드시 쏜다넷 보안키를 발급받아야 합니다. (주)쏜다넷 고객센터(02-2646-7280)로 연락하세요. - : SMS 사용시 쏜다넷을 사용하시는 경우 쇼핑몰설정에서 쏜다넷 아이디와 쏜다넷 보안키를 입력한 후 사용하시기 바랍니다. - - adm/shop_admin/configform.php - adm/shop_admin/configformupdate.php - adm/shop_admin/smssend.php - shop/sms.inc.php - -4.14.44 (2010.10.04) - : KSPAY 의 신용카드 결제시 승인된 건만 DB에 업데이트 하도록 수정 - - shop/settle_kspay_rcv.php - -4.14.43 (2010.09.07) - : [보안패치] 데이터(폼값) 변조에 의한 코드 수정 - - shop/cartupdate.php - -4.14.42 (2010.08.23) - : 동방시스템 결제 및 결제내역 DB 에 업데이트 되지 않도록 수정 - - shop/kcp/pp_ax_hub.php - -4.14.41 (2010.08.02) - : KCP 를 UTF-8 로 사용시 가상계좌에 은행명이 나오지 않던 오류 수정 - - shop/kcp/pp_ax_hub.php - -4.14.40 (2010.07.22) - : LG텔레콤 신버전에 주문서 작성시 에스크로 정보 추가 - - shop/settle_dacom_xpay.inc.php - -4.14.39 (2010.07.13) - : 입금완료 미배송내역의 more 클릭시 미배송내역이 제대로 출력되지 않던 오류 수정 - - adm/shop_admin/index.php - adm/shop_admin/deliverylist.php - -4.14.38 (2010.06.30) - : KSPAY 의 신용카드 결제시 승인된 내역의 반영에 이상이 있어 수정 - shop/settle_kspay_result.php 에서 신용카드 결제시 승인된 내역이 반영되는 것을 shop/settle_kspay_rcv.php 에서 처리함 - 승인후에는 form 의 action url 로 이동됨 - - shop/settle_kspay_rcv.php - shop/settle_kspay_result.php - -4.14.37 (2010.01.24) - : 다양한 플러그인을 사용할 수 있도록 prototype.js 에서 jquery.js 로 대체합니다. - - shop/item.php - shop/itemqa.inc.php - shop/itemuse.inc.php - -4.14.37 (2010.01.24) - : 옥션 오픈쇼핑 엔진페이지의 utf-8 미지원 해결 - - shop/price/auction.php - shop/price/auction_new.php - shop/price/auction_summary.php - -4.14.36 (2010.01.20) - : 소스코드상의 데이콤 문구를 LG텔레콤으로 변경 - : LG텔레콤의 결제모듈 신버전인 XPay-lite 탑재 (UTF-8 지원) - 신버전을 사용하시는 경우 반드시 "LG텔레콤 관리자 > 계약정보 > 상점정보관리 > 시스템 연동정보 > 승인 결과 전송 여부 > 수정 > 결제창2.0"으로 설정하십시오. - 쇼핑몰설정의 결제대행사를 반드시 "LG텔레콤 신버전" 으로 선택하시기 바랍니다. - - shop/settle_dacom_xpay.inc.php - shop/settle_dacom_xpay_cas_noteurl.php - shop/settle_dacom_xpay_noteurl.php - shop/taxsave_dacom.php - shop/taxsave_dacom_receipt.php - shop/orderinquiryview.php - adm/shop_admin/configform.php - adm/shop_admin/orderform.main.php - shop.config.php - -4.14.35 (09.12.23) - : 네이버 지식쇼핑 엔진페이지의 utf-8 미지원 해결 - - shop/price/naver.php - shop/price/naver_summary.php - shop/price/naver_new.php - shop/price/naver_new_summary.php - -4.14.34 (09.12.01) - : 올더게이트 신용카드 영수증 24시간 이후에도 조회가 가능하도록 수정 - send_dt 추가 - - shop/orderinquiryview.php - -4.14.33 (09.11.23) - : UTF-8 에서 상품복사시 검색 후 에러나는 부분 수정 - - adm/shop_admin/itemlist.php - adm/shop_admin/item_copy_update.php - adm/shop_admin/itemformupdate.php - js/common.js - -4.14.32 (09.10.27) - : 가상계좌에서 입금전(채번)에는 입금확인일시가 들어가지 않아야 함 - - shop/settle_allthegate_pay_ing.php - -4.14.31 (09.09.22) - : 네이버 신규요약상품 URL 추가 - - adm/shop_admin/price.php - shop/price/naver_new_summary.php - -4.14.30 (09.09.07) - : 상단, 하단 파일경로 필드 추가 - - adm/shop_admin/contentform.php - adm/shop_admin/contentformupdate.php - shop/content.php - -4.14.29 (09.07.22) - : 비회원 구매, 글쓰기 시 개인정보수집 동의문 내용 추가 - - adm/shop_admin/configform.php - skin/board/shop_board/write.skin.php - -4.14.28 (09.07.16) - : 비회원구입시 개인정보수집 동의문 내용 추가 - - adm/shop_admin/configform.php - adm/shop_admin/configformupdate.php - skin/member/shop_member/login.skin.php - -4.14.27 (09.06.26) - : 쏜다넷 문자 보내기 socket 통신 코드로 수정 - - shop/sms.inc.php - -4.14.26 (09.05.21) - : 옥션 오픈쇼핑 코드 수정 - - price/auction.php - -4.14.26 (09.05.11) - : 올더게이트 결제 모듈 수정 - - shop/settle_allthegate*.php - -4.14.25 (09.04.21) - : https_url 설정시 로그인 페이지에서 제대로 이동하지 않는 오류 수정 - - skin/member/shop_member/login.skin.php - -4.14.24 (09.04.17) - : 상품리스트 스킨에서 파이어폭스 사용시 상품이 장바구니에 담기지 않던 오류 수정 - - shop/list.skin.11.php - -4.14.23 (09.04.01) - : 현금영수증 발급시 상품명에 특수문자가 포함되면 RCF1 결과 메세지 FORMAT ERROR(발급정보) - 에러가 발생하는데 특수문자를 제거하여 이 오류가 발생하지 않도록 수정 - function get_goods($on_uid) 함수 부분 수정 - - lib/shop.lib.php - -4.14.22 (09.03.24) - : 상품설명 이미지폭 자동 변경 스크립트 수정 - : 가격비교사이트 "다나와" 엔진페이지 수정 - : 네이버 "지식쇼핑" 엔진페이지 배송비 적용되도록 수정 - - shop/item.php - shop/price/danawa.php - shop/price/naver.php - shop/price/naver_new.php - -4.14.21 (09.02.04) - : 옥션 오픈쇼핑 요약상품, 신규상품 URL 추가 - - adm/shop_admin/price.php - shop/price/auction_summary.php - shop/price/auction_new.php - -4.14.20 (09.02.02) - : 주문내역출력에서 엑셀파일(xls) 다운로드 기능 추가 - - adm/shop_admin/orderprint.php - adm/shop_admin/orderprintresult.php - -4.14.19 (09.01.30) - : 분류관리에서 검색이 가능하도록 수정 - - adm/shop_admin/categorylist.php - -4.14.18 (09.01.08) - : KCP, LG DACOM, INICIS 신용카드 결제시 주문상세내역에서 영수증 출력 보이도록 수정 - - shop/settle_dacom_noteurl.php - shop/orderinquiryview.php - -4.14.17 (08.12.02) - : 관리자 사용후기, 상품문의 리스트에서 검색시 페이지가 정상 작동하지 않던 부분 수정 - - adm/shop_admin/itempslist.php - adm/shop_admin/itemqalist.php - -4.14.16 (08.11.27) - : UTF-8 사용시 KCP 현금영수증 발급하면 한글 깨지던 문제 해결 - (단, PHP에서 iconv() 함수 지원해야 합니다.) - - shop/kcp/pp_cli_hub.php - shop/kcp/pp_cli_result.php - -4.14.15 (08.10.09) - : cheditor4 적용 - : 자동등록방지 capcha 코드 보완 - - adm/shop_admin/categoryform.php - adm/shop_admin/configform.php - adm/shop_admin/contentform.php - adm/shop_admin/faqform.php - adm/shop_admin/faqmasterform.php - adm/shop_admin/itemeventform.php - adm/shop_admin/itemform.php - adm/shop_admin/newwinform.php - adm/shop_admin/onlinecalcform.php - shop/item.php - shop/itemqa.inc.php - shop/itemqaupdate.php - shop/itemuse.inc.php - shop/itemuseupdate.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.14 (08.10.09) - : 올더게이트 가상계좌 입금시 자동 통보 코드 수정 - - shop/settle_allthegate.inc.php - shop/settle_allthegate_pay_ing.php - shop/settle_allthegate_vbank.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.13 (08.10.07) - : 네이버 지식쇼핑 입점시 사용하는 신규상품URL 추가 - - adm/shop_admin/price.php - shop/price/naver_new.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.12 (08.10.02) - : 온라인견적에서 비회원가, 회원가, 특별회원가 반영하지 못하고 비회원가로만 계산하던 오류를 수정 - - shop/onlinecalc.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.11 (08.09.30) - : 약관 변경 - - LICENSE_YC4 - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.10 (08.09.26) - : 옥션 오픈쇼핑 상품DB파일 페이지 추가 - - adm/shop_admin/price.php - shop/price/auction.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.09 (08.09.03) - : 이니시스 결제시 지불실패 : 경고창이 뜨는것을 수정 - - shop/settle_inicis_INIpay41Lib.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.08 (08.08.27) - : LG데이콤 현금영수증 패치 - - shop/settle_dacom.inc.php 를 수정해서 사용하시는 고객님들께서는 - 를 한줄 추가해 주십시오. - 계좌이체, 가상계좌 거래시에 현금영수증 발급이 출력되는것을 막는 코드입니다. - - adm/shop_admin/orderform.main.php - shop/shop/settle_dacom.inc.php - shop/orderinquiryview.php - shop/taxsave_dacom.php - shop/taxsave_dacom_receipt.php - shop/img/dacom/* - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.07 (08.08.23) - : UTF-8 에서 '비회원가격과 회원가격이 다릅니다. 로그인 후 구입하여 주십시오.' 경고창 한글 메세지 깨지는것 수정 - - shop/cartupdate.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.06 (08.08.02) - : KCP 공통 URL 페이지에 KCP 서버 이외의 알려지지 않은 IP 접속시 최고관리자에게 메일로 올바르지 않은 접속 보고서를 보냄 - - shop/settle_kcp_common.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.05 (08.07.16) - : 상품 복사시 상품명에 " 가 들어가면 자바스크립트 오류가 나던것을 수정 - - adm/shop_admin/itemlist.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.04 (08.07.15) - : 이니시스 현금영수증 패치 - - 현금영수증 처리에서 오류가 발생하는 경우 이니시스에서 제공하는 INIpay41 for Unix.zip 이 파일을 압축 해제하여 INIpay41_escrow 폴더로 업로드 해 보시기 바랍니다. - - adm/shop_admin/orderform.main.php - shop/orderinquiryview.php - shop/taxsave_inicis.php - shop/taxsave_inicis_receipt.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.03 (08.07.07) - : UTF-8 버전의 주문개별관리에서 상태로 검색시 오류가 발생하던 부분을 수정 - - adm/shop_admin/orderstatuslist.php - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.02 (08.07.07) - : KCP, 티지코프, 올더게이트 현금영수증 패치 - - 마이페이지( http://sir.co.kr/customer/mypage.php )에서 프로그램을 다운로드 하십시오. - - - 공통 : - - adm/shop_admin/configform.php - adm/shop_admin/configformupdate.php - adm/shop_admin/orderform.head.php - adm/shop_admin/orderform.main.php - shop/orderinquiryview.php - - - KCP : - - shop/kcp/pp_cli_hub.php - shop/kcp/pp_cli_hub_lib.php - shop/kcp/pp_cli_result.php - shop/settle_kcp.inc.php - shop/taxsave_kcp.php - - - 티지코프 : - - shop/taxsave_tgcorp.php - shop/taxsave_tgcorp_dbinsert.php - - - 올더게이트 : - - shop/img/allthegate/* - shop/taxsave_allthegate.php - shop/taxsave_allthegate_ing.php - shop/taxsave_allthegate_receipt.php - - - * 다음과 같은 순서대로 처리해 주시기 바랍니다. - - 1. KCP 의 경우 https://admin.kcp.co.kr 에 접속하여 부가서비스 > 현금영수증 > 현금영수증 설정을 "자동등록"으로 설정하시기 바랍니다. (필수) - - 2. http://도메인/adm/shop_admin/configformo.php 에 접속하여 쇼핑몰관리 > 쇼핑몰설정 > 결제정보 > 현금영수증발급사용을 "예"로 설정하시기 바랍니다. (현금영수증을 사용하실 경우에만 해당) - - 3. KCP의 경우 shop/settle_kcp.inc.php 에 와 같은 코드를 추가하시거나 값을 "N"으로 설정하시기 바랍니다. - - 4. KCP의 경우 기존에 가상계좌를 사용하지 않으시던 분들께서는 https://admin.kcp.co.kr 에 접속하여 쇼핑몰관리 > 가상계좌 V 클릭 > 리턴 URL 정보에 - http://도메인/영카트4폴더/shop/settle_kcp_common.php - 로 설정하여 주십시오. - 이렇게 설정하셔야 가상계좌로 은행에 입금된 금액이 해당 쇼핑몰에 자동으로 통보됩니다. - - 5. 무통장이나 가상계좌, 계좌이체를 입금 처리한에는 사용자의 마이페이지나 관리자 > 주문관리 > 수정에 현금영수증 발급과 관련된 내용이 표시됩니다. - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -4.14.01 (08.07.03) - : KCP 현금영수증 발급 기능 추가 - - https://admin.kcp.co.kr 에 접속하여 부가서비스 > 현금영수증 > 현금영수증 설정을 "자동등록"으로 설정하시기 바랍니다. (필수) - adm/shop_admin/configformo.php 에 접속하여 쇼핑몰관리 > 쇼핑몰설정 > 결제정보 > 현금영수증발급사용을 "예"로 설정하시기 바랍니다. (현금영수증을 사용하실 경우에만 해당) - shop/settle_kcp.inc.php 에 와 같은 코드를 추가하시거나 값을 "N"으로 설정하시기 바랍니다. - - - adm/shop_admin/configform.php - adm/shop_admin/configformupdate.php - adm/shop_admin/orderform.main.php - shop/settle_kcp.inc.php - shop/orderinquiryview.php - shop/taxsave_kcp.php - shop/kcp/pp_cli_hub.php - shop/kcp/pp_cli_hub_lib.php - shop/kcp/pp_cli_result.php - -4.13.03 (08.06.26) - : FF 3.0 에서 오류나는 코드를 수정 elements('name') -> elements['name'] - - adm/shop_admin/deliverylist.php - -4.13.02 (08.05.14) - : 주문건수가 많아지면 속도가 느려지는것을 개선 - (김선용[sjsjin]님께서 많은 도움 주셨습니다.) - - adm/shop_admin/orderlist.php - adm/shop_admin/orderlist2.php - adm/shop_admin/orderstatuslist.php - adm/shop_admin/deliverylist.php - adm/shop_admin/ordercardhistory.php - -4.13.02 (08.04.10) - : 주문서 작성시 이름에 ' 와 " 입력이 가능하도록 수정 - - shop/orderreceipt.php - -4.13.01 (08.03.27) - : 상품문의, 사용후기를 자동으로 등록시키지 못하도록 수정 - - bbs/norobot_image.php - shop/item.php - shop/itemqa.inc.php - shop/itemqaupdate.php - shop/itemuse.inc.php - shop/itemuseupdate.php - -4.12.04 (08.03.26) - : 상품복사기능 추가 (능금돌이 님께서 올리신 소스코드를 참고하였습니다.) - : 주문 포인트 부여된 후 제대로 차감되지 않던 오류 수정 - - adm/admin.lib.php - adm/shop_admin/itemlist.php - adm/shop_admin/item_copy_update.php - adm/shop_admin/orderform.php - -4.12.03 (08.02.21) - : KSPAY 가상계좌 결제시 에스크로 약관 화면 출력 되도록 수정 및 추가 - (계좌이체는 에스크로 약관 표시하지 않음 : KSPAY 기본매뉴얼에서도 가상계좌만 가능함) - - shop/settle_kspay.inc.php - shop/settle_kspay_KEscrowRcv.html - -4.12.02 (08.01.30) - : 포인트로 결제하는 내역이 있으면서 회원의 포인트가 - (마이너스) 포인트라면 오류메세지 출력 - - shop/kcp/pp_ax_hub.php - -4.12.01 (08.01.22) - : 관련상품 호출시 charset이 지정되지 않아 문자가 깨지던 오류 수정 - - adm/shop_admin/itemformrelation.php - -4.12.00 (07.10.30) - : CSV 파일로 일괄 배송처리가 가능하도록 수정 - : 유일키 생성시 이틀전 자료는 삭제하도록 코드 수정 get_unique_id() 함수 - - adm/shop_admin/invoicebundle.php - adm/shop_admin/invoicebundleupdate.php - adm/shop_admin/orderprintresult.php - lib/shop.lib.php - -4.11.48 (07.09.19) - : 주문상세내역에 누락된 "전하실 말씀" 출력 - 포대장님께서 알려주셨습니다. - - shop/orderinquiryview.php - -4.11.47 (07.08.29) - : 계좌이체시 동방시스템, 금융결제원 모두 가능하도록 수정 - KCP 개발자께서 알려주셨습니다. - - shop/settle_kcp.inc.php - shop/kcp/pp_ax_hub.php - -4.11.46 (07.08.24) - : KCP 결제시 UTF-8 버전에서 자바스크립트 나오던 오류 수정 - - shop/settle_kcp.inc.php - -4.11.45 (07.08.20) - : 올더게이트 DB 업데이트 코드 수정 - sjsjin님께서 알려 주셨습니다. - : 이니시스 계좌이체 결제 가능하도록 수정 - - shop/settle_allthegate_pay_ing.php - shop/settle_inicis.inc.php - -4.11.44 (07.08.09) - : 올더게이트 결제후 네트워크 문제로 DB에 반영이 제대로 되지 않던 오류 수정 - - shop/settle_allthegate_pay_ing.php - shop/settle_allthegate_pay_result.php - -4.11.43 (07.07.28) - : 사용후기, 상품문의를 회원만 가능하도록 자바스크립트 수정 - - shop/itemuse.inc.php - shop/itemqa.inc.php - -4.11.42 (07.07.26) - : 검색어 공란입력시 제대로 검색되지 않던 오류 수정 - - shop/search.php - -4.11.41 (07.07.02) - : 주문상세내역에서 비회원의 경우 재결제 되지 않는 부분 수정 - - shop/orderinquiryview.php - -4.11.40 (07.06.29) - : 상품삭제시 상품설명에 들어간 이미지 삭제 기능 추가 - - adm/shop_admin/itemformupdate.php - -4.11.39 (07.06.26) - : 브라우저의 다른창을 열고(세션 별도) 포인트결제를 하면 중복결제되어 - (마이너스) 처리 되는 부분을 수정 - : utf8 에서 코드중복체크시 글자 깨짐 수정 - - shop/orderupdate.php - adm/shop_admin/codedupcheck.php - -4.11.38 (07.06.20) - : KCP 모듈 수정 (계좌이체가 잘되지 않던 오류 수정) - : 아이코드 모듈에 utf-8에서도 문자가 잘 전송되도록 수정 - - shop/kcp/pp_ax_hub.php - lib/icode.sms.lib.php - -4.11.37 (07.06.13) - : 티지코프 계좌이체 코드 수정 - : 티지코프 가상계좌 결제 코드 추가 - - shop/settle_tgcorp.inc.php - shop/settle_tgcorp_dbinsert.php - -4.11.36 (07.05.17) - : 관련상품을 제대로 가져오지 못하던 버그를 수정 - : 주문자가 직접 취소시 배송비를 0으로 설정 - - adm/shop_admin/itemform.php - adm/shop_admin/itemformrelation.php - shop/orderinquiryview.php - shop/orderinquirycancel.php - -4.11.35 (07.05.01) - : 자바스크립트로 상품의 가격을 변경할 수 있는 버그를 수정 - 수량이 바뀌면 소비자가격도 수량에 따라 변경되도록 수정 - - /shop/item.php - -4.11.34 (07.04.03) - : 상품입력에서 기본분류, 2차분류, 3차분류의 선택이 다음번 상품 입력에서 - 이전 설정이 기본으로 설정되도록 수정 - - adm/shop_admin/itemform.php - adm/shop_admin/itemformupdate.php - -4.11.33 (07.03.27) - : 관련상품에서 관련상품이 제대로 출력되지 않는 오류 수정 - - adm/shop_admin/itemformrelation.php - -4.11.32 (07.03.15) - : 입금전 주문은 주문자 본인이 취소할 수 있도록 수정하였습니다. - : 상품문의, 사용후기를 프로그램이 자동으로 등록하지 못하도록 토큰값을 적용하였습니다. - : 상품판매순위의 잘못된 코드를 수정하였습니다. (sjsjin님 도움) - - shop/orderinquiryview.php - shop/orderinquirycancel.php - shop/item.php - shop/itemqa.inc.php - shop/itemqaupdate.php - shop/itemuse.inc.php - shop/itemuseupdate.php - adm/shop_admin/itemsellrank.php - -4.11.31 (07.03.07) - : 신용카드, 계좌이체, 가상계좌 결제에서 포인트를 사용한 경우 결제 실패시 - 회원의 보유포인트가 모자라는 경우 마이페이지에서 다시 결제할 수 없도록 - 수정하였습니다. - - shop/orderinquiryview.php - -4.11.30 (07.01.23) - : 포인트 결제사용 점수와 포인트결제 %를 계산하여 체크해야 하는데 - 포인트 결제사용 점수만으로 체크하여 생긴 오류를 수정 - - shop/orderreceipt.php - -4.11.29 (07.01.22) - : 운송장번호 등록시 배송회사 클릭하면 운송장번호도 같이 넘겨지도록 수정 - - adm/shop_admin/orderform.main.php - shop/orderinquiryview.php - -4.11.28 (07.01.17) - : 상품수정시 상품수가 많은 경우 관련상품에서 많은 부하가 걸리는것을 수정 - : 상품검색에 인기검색어를 반영 - - adm/shop_admin/itemform.php - adm/shop_admin/itemformrelation.php - shop/search.php - -4.11.27 (07.01.11) - : 데이콤 권고 사항에 따른 수정 - 1. 결제창을 호출하는 상점 주문 부분의 소스보기 차단 - 2. 데이콤결제창 호출시 넘겨준 주문금액과 데이콤이 상점으로 결제 결과를 전송한 결제 금액과의 일치 여부 비교 체크 - 3. 데이콤 결제창 호출시 넘겨주는 파라메터에 대한 암호화 적용 - - settle_dacom.inc.php - shop/settle_dacom.inc.php - shop/settle_dacom_noteurl.php - -4.11.26 (07.01.04) - : 주문서관리 리스트에 주문자 전화번호, 핸드폰 그리고 받는분 전화번호, 핸드폰 검색 가능하도록 수정 - - adm/shop_admin/orderlist.php - -4.11.25 (06.12.05) - : 에누리 가격비교 사이트 엔진 페이지 수정 - - shop/price/enuri.php - -4.11.24 (06.11.20) - : 비회원이 보관함에 상품을 보관하는 경우 제대로 보관함에 저장하지 못하던 오류 수정 - - shop/wishupdate.php - -4.11.23 (06.11.06) - : 비회원가격과 회원가격이 틀린 경우 비회원으로 주문할 수 없던 오류 수정 - - shop/cartupdate.php - -4.11.22 (06.10.27) - : 회원의 포인트가 주문 금액보다 작은 경우에도 포인트 결제가 가능한 오류 수정 - - shop/orderform.php - -4.11.21 (06.10.26) - : 상품등록시 관련상품 선택에서 이미지를 보이도록 수정 - 김선용님께서 제작해 주셨습니다(SIR 회원아이디 : sucjin) 감사합니다. - - adm/shop_admin/itemform.php - -4.11.20 (06.10.25) - : 상품상세보기에서 관련상품 쿼리 수정 - - shop/item.php - -4.11.19 (06.10.20) - : 네이버 가격비교연동페이지 수정 및 추가 - - adm/shop_admin/price.php - shop/price/naver.php - shop/price/naver_summary.php - -4.11.18 (06.10.19) - : on_uid 중복되지 않도록 보완 - shop.config.php 에 $g4[yc4_on_uid_table] = "yc4_on_uid"; 한 줄 추가하십시오. - - shop.config.php - lib/shop.lib.php - -4.11.17 (06.10.19) - : 티지코프 결제 페이지 수정 - 가상계좌는 사용할 수 없습니다. - - shop/settle_tgcorp.inc.php - shop/settle_tgcorp_dbinsert.php - shop/settle_tgcorp_result.php - -4.11.16 (06.10.19) - : 뱅크타운 결제 페이지 수정 - 가상계좌는 사용할 수 없습니다. - - shop/settle_banktown.inc.php - shop/settle_banktown_callback.php - shop/settle_banktown_result.php - shop/settle_banktown_rnoti.php - -4.11.15 (06.09.08) - : 주문개별관리에서 페이지 이동 제대로 되지 않던 오류 수정 - - adm/shop_admin/orderstatuslist.php - -4.11.14 (06.08.24) - : 장바구니에 상품을 멀티로 담을 경우 시간이 제대로 반영되지 않던 오류 수정 - $now -> $g4[time_ymdhis] - - shop/cartupdate.php - -4.11.13 (06.08.10) - : 스팸발송으로 인한 추천메일 코드 수정 - : 주문통합관리의 $sub_menu 변수값 수정 - - shop/itemrecommendmail.php - adm/shop_admin/orderlist2.php - -4.11.12 (06.07.24) - : 상품상세보기 자바스크립트 코드 수정 - - shop/item.php - -4.11.11 (06.07.21) - : 올더게이트 계좌이체 결제 추가 - - shop/settle_allthegate.inc.php - shop/settle_allthegate_pay_result.php - -4.11.10 (06.07.20) - : 네이버 지식쇼핑 입점 DB url 코드 변경 - - adm/shop_admin/price.php - shop/price/naver.php - -4.11.09 (06.07.17) - : KSNET(KSPAY) 계좌이체 결제모듈추가 - - shop/settle_kspay_result.php - shop/settle_kspay.inc.php - -4.11.08 (06.07.13) - - get_amount() 함수 코드 수정 - - lib/shop.lib.php - -4.11.07 (06.07.10) - - 주문내역수정에서 실행순서 변경 - adm/shop_admin/orderform.head.php 에서 include 실행 - - adm/shop_admin/orderform.head.php - adm/shop_admin/orderform.php - -4.11.06 (06.07.01) - - 상품명에 " 포함되면 오늘 본 상품에서 자바스크립트 오류나는것 수정 - - shop/boxtodayview.inc.php - -4.11.05 (06.06.30) - - 주문취소시 배송비 반영되지 않던 오류를 배송비를 수정하도록 하여 해결 - - adm/shop_admin/orderform.main.php - adm/shop_admin/orderreceiptupdate.php - -4.11.04 (06.06.29) - - 관리자 주문리스트의 2페이지 이상에서 검색시 하위 페이지에 검색이 된 경우 - "자료가 한건도 없습니다." 나오는 오류 수정 - - adm/shop_admin/orderlist.php - adm/shop_admin/orderlist2.php - adm/shop_admin/orderstatuslist.php - -4.11.03 (06.06.22) - - 관리자 상품리스트의 2페이지 이상에서 검색시 하위 페이지에 검색이 된 경우 - "자료가 한건도 없습니다." 나오는 오류 수정 - - 주문통합관리에서 제대로 표시되지 않던 상품옵션을 수정 - - adm/shop_admin/itemlist.php - adm/shop_admin/orderlist2.php - -4.11.02 (06.05.18) - - 상품관리에서 2, 3차 분류로 검색되지 않던 오류 수정 - - adm/shop_admin/itemlist.php - adm/shop_admin/categorylist.php - -4.11.01 (06.05.03) - - 주문내역출력에서 엑셀 CSV 데이터 다운로드시 "전하실말씀" 추가 - - adm/shop_admin/orderprintresult.php - -4.11.00 (06.04.29) - - 오늘 본 상품 기능 추가 - - head.php 의 테이블 태그 부분을 참고하여 수정하십시오. - tail.php 에 코드를 추가하십시오. - - - 수정된 파일 - - shop/boxtodayview.inc.php - shop/item.php - - 이미지 수정 및 추가 - - shop/img/bar_type1.gif - shop/img/bar_type2.gif - shop/img/bar_type4.gif - shop/img/bar_type5.gif - shop/img/my_bg.gif - shop/img/my_box01.gif - shop/img/my_box02.gif - shop/img/todayview.gif - shop/img/todayview01.gif - shop/img/todayview02.gif - shop/img/todayview03.gif - shop/img/todayview04.gif - shop/img/todayview05.gif - shop/img/todayview06.gif - shop/img/top_cart.gif - shop/img/top_faq.gif - shop/img/top_mypage.gif - shop/img/top_onlinecalc.gif - shop/img/top_orderconfirm.gif - shop/img/top_orderform.gif - shop/img/top_orderform.jpg - shop/img/top_orderinquiry.gif - shop/img/top_orderinquiryview.gif - shop/img/top_orderreceipt.gif - shop/img/top_search.gif - shop/img/top_type1.jpg - shop/img/top_type2.jpg - shop/img/top_type3.jpg - shop/img/top_type4.jpg - shop/img/top_type5.jpg - shop/img/top_wishlist.gif - -4.10.04 (06.04.20) - - display_event(), get_goods() 함수 수정 - - lib/shop.lib.php - -4.10.03 (06.04.18) - - 주문서 통합관리 리스트에서 상품이미지 클릭하면 상품상세화면으로 이동하도록 수정 - - adm/shop_admin/orderlist2.php - -4.10.02 (06.04.12) - - 에스크로 제도 시행으로 인한 결제 모듈 패치 (kspay) - - 계좌이체는 결제 가능하지 않으므로 사용하실 고객님께서는 별도로 요청하여 주십시오. - - 가상계좌의 경우 입금되면 쇼핑몰로 자동 통보해주는 기능이 기본 모듈로 제공하지 않습니다. - 이 부분은 별도로 의뢰(유료)하여 주십시오. - - - 추가되거나 수정된 파일 내역 - shop/settle_kspay.inc.php - shop/settle_kspay_rcv.php - shop/settle_kspay_result.php - -4.10.01 (06.04.12) - - 에스크로 제도 시행으로 인한 결제 모듈 패치 (이니시스) - 계좌이체는 이니시스에서 개발중이므로 결제 가능하지 않습니다. - 테스트 하시는 경우 hanatest01 / 1111 을 사용하십시오. - - 퍼미션을 다음과 같이 변경하십시오. - - chmod 777 shop/INIpay41_escrow - chmod 777 shop/INIpay41_escrow/log - chmod 777 shop/INIpay41_escrow/phpexec/* - - - 추가되거나 수정된 파일 내역 - - shop/settle_inicis.inc.php - shop/settle_inicis_INIpay41Lib.php - shop/settle_inicis_childwin.php - shop/settle_inicis_result.php - shop/INIpay41_escrow // 폴더 전체 - -4.10.00 (06.04.06) - - 에스크로 제도 시행으로 인한 결제 모듈 패치 (중요한 내용이므로 한번 이상 읽어 주십시오.) - - 적용전에 http://도메인/영카트4/adm/shop_admin/configform.php 는 반드시 한번 이상 실행하셔야 합니다. - - kcp, dacom 모듈만 우선 변경 하였습니다. - - kcp : - shop/kcp/payplus/bin/pp_cli 는 반드시 바이너리 모드로 올려주십시오. - shop/kcp/payplus 폴더의 퍼미션을 777 로 변경 - shop/kcp/payplus/bin/pp_cli 의 퍼미션을 777로 변경 - shop/kcp/payplus/log 폴더의 퍼미션을 777 로 변경 - - * 무통장으로 현금 거래시 가상계좌 서비스 신청을 PG사에 별도로 하여야 합니다. - - 가상계좌에 입금시 자동으로 쇼핑몰에 통보가 되게 하는 방법 - kcp : - 1. kcp 관리자 홈페이지에 접속 - 2. 쇼핑몰관리 > 정보변경 > 쇼핑몰정보 > 업체쇼핑몰정보 > 가상계좌 V 를 클릭하여 리턴 URL 정보를 변경하십시오. - 3. http://도메인/영카트 설치 폴더/shop/settle_kcp_common.php 로 설정합니다. - dacom : - 1. dacom 관리자 홈페이지에 접속 - 2. 계약정보 > 상점정보관리 > 에스크로거래 처리결과 수신url 을 - 3. http://도메인/영카트 설치 폴더/shop/settle_dacom_noteurl.php 로 설정합니다. - - - 추가되거나 수정된 파일 내역 - - adm/shop_admin/configform.php - adm/shop_admin/configformupdate.php - adm/shop_admin/index.php - adm/shop_admin/orderform.main.php - adm/shop_admin/orderlist.php - adm/shop_admin/orderlist2.php - shop/mail/orderupdate1.mail.php - shop/mail/orderupdate2.mail.php - shop/orderconfirm.php - shop/orderform.php - shop/orderinquiryview.php - shop/orderreceipt.php - shop/orderupdate.php - shop/settle_dacom.inc.php - shop/settle_dacom_noteurl.php - shop/settle_kcp.inc.php - shop/settle_kcp_common.php - shop/settleresult.php - shop/kcp // 폴더 전체 - -4.00.14 (06.03.09) - : 올더게이트 카드 결제 추가 (계좌이체는 사용 불가) - - shop/ordercardallthegate.inc.php - shop/ordercardallthegatefunc.php - shop/ordercardallthegatepaying.php - shop/ordercardallthegatepayresult.php - shop/ordercardallthegateresult.php - -4.00.13 (06.03.08) - : 실시간 계좌이체 사용하지 않을 시 주문서 수정에서 계좌번호에 실시간 계좌이체를 출력하지 않도록 수정 - - adm/shop_admin/orderform.main.php - -4.00.12 (06.03.03) - : 데이콤 계좌이체 결제 추가 - - shop/orderichedacom.inc.php - shop/orderichedacomresult.php - -4.00.11 (06.03.01) - : 관리자 상품 리스트에서 상품 검색 페이징 코드 수정 - : KSPAY 결제시 로그 남김 (결과가 넘어오지 않는 경우가 종종 발생함) - : 보관함 합계 현황 추가 - : 여러개의 상품에서 하나 이상의 주문취소시 입금완료 미배송내역에 출력되지 않던 오류 수정 - : 추천메일로 스팸메일을 발송하지 못하도록 수정 - - adm/shop_admin/index.php - adm/shop_admin/itemlist.php - adm/shop_admin/itemlistupdate.php - adm/shop_admin/itemform.php - adm/shop_admin/itemformupdate.php - adm/admin.menu500.shop_2of2.php - adm/shop_admin/wishlist.php - shop/ordercardkspayrev.php - shop/itemrecommend.php - shop/itemrecommendmail.php - -4.00.10 (06.02.25) - : 회원가와 비회원가가 서로 틀린 경우 보관함에 담았다가 장바구니에 담는 경우 비회원가로 표시되는 오류 수정 - : 상품문의, 사용후기 페이지 이동 오류 수정 - : 페이징 함수 수정 (책갈피 변수 추가) - - shop/wishlist.php - shop/itemqa.inc.php - shop/itemuse.inc.php - lib/common.lib.php - -4.00.09 (06.02.14) - : 이벤트에서 페이지 이동 오류 수정 - : 이벤트에서 회원등급별 가격적용이 안되는 오류 수정 - : 검색에서 가격적용이 안되는 오류 수정 - - shop/event.php - shop/search.php - -4.00.08 (06.01.10) - : display_category() 함수의 쿼리 오류 수정 - : 상품유형 리스트에서 페이지 이동 오류 - : 상품유형 리스트에서 SELECT 시 모든 필드값을 가지고 오도록 수정 - : 주문내역출력에서 CSV 변환시 0으로 시작하는 전화번호를 숫자로 인식하는 오류 수정 - - adm/admin.menu400.shop_1of2.php - adm/shop_admin/orderlist2.php - adm/shop_admin/orderprintresult.php - lib/shop.lib.php - shop/listtype.php - -4.00.07 (05.12.23) - : 쏜다넷 고객아이디에 입력값이 있어야 SMS 전송되던 오류 수정 - : 메일에 링크가 제대로 걸려있지 않던 오류 수정 - - adm/shop_admin/smssend.php - shop/mail/orderupdate1.mail.php - shop/mail/orderupdate2.mail.php - shop/mail/orderupdate3.mail.php - -4.00.06 (05.12.9) - : SMS 에 아이코드(icodekorea.com) 모듈을 추가하였습니다. - 소켓방식이라 안정적이며 속도가 빠릅니다. - - adm/shop_admin/configform.php - adm/shop_admin/configformupdate.php - adm/shop_admin/deliverylistupdate.php - adm/shop_admin/smssend.php - adm/shop_admin/smssendicode.php - adm/shop_admin/orderreceiptupdate.php - adm/shop_admin/ordersms.inc.php - skin/member/shop_member/register_update.skin.php - shop/orderupdate.php - lib/icode.sms.lib.php - -4.00.05 (05.12.6) - : 데이콤 카드 결제모듈추가 - 계좌이체의 경우 테스트 할 방법이 없어 모듈을 추가하지 못하였습니다. - - 상점관리자 페이지에서 상점관리 > 상점정보관리 > 결과전송정보의 - 승인결과전송여부에 전송(웹전송) 이란 문구가 나타나 있어야 하며 - mertkey 도 발급이 되어 있어야 결제가 가능합니다. - - shop/ordercarddacom.inc.php - shop/ordercarddacomresult.php - shop/ordercarddacomnoteurl.php - -4.00.04 (05.12.6) - : KSNET(KSPAY) 카드 결제모듈추가 - 계좌이체의 경우 테스트 할 방법이 없어 모듈을 추가하지 못하였습니다. - - shop/ordercardkspay.inc.php - shop/ordercardkspayresult.php - shop/ordercardkspayrev.php - -4.00.03 (05.12.6) - : 이니시스 전자결제모듈추가 - 테스트 하실 경우에는 쇼핑몰설정 > 결제정보에 다음과 같이 입력하십시오. - 이니시스 아이디 : INIpayTest - 이니시스 패스워드 : 1111 - 계좌이체 테스트시에는 올바른 계좌번호 입력 후 비밀번호는 0000 입력하셔야 정상 테스트 됩니다. - - INIpay41 // 디렉토리 전체 - shop/ordercardinicis.inc.php - shop/ordercardinicischildwin.php - shop/ordercardinicisINIpay41Lib.php - shop/ordercardinicisresult.php - shop/ordericheinicis.inc.php - shop/ordericheinicisresult.php - -4.00.02 (05.12.5) - : 주문서 수정에서 입금, 배송메일 발송시 보내는 사람 메일이 없던 부분을 수정 - : 티지코프 전자결제모듈추가 - - adm/shop_admin/ordermain.inc.php - adm/shop_admin/configform.php - shop/ordercardtgcorp.inc.php - shop/ordercardtgcorpdbinsert.php - shop/ordercardtgcorpresult.php - shop/orderichetgcorp.inc.php - shop/orderichetgcorpdbinsert.php - shop/orderichetgcorpresult.php - -4.00.01 (05.12.3) - : 뱅크타운 전자결제모듈 추가 - - adm/shop_admin/configform.php - shop/ordercardbanktown.inc.php - shop/ordercardbanktowncallback.php - shop/ordercardbanktownrnoti.php - shop/ordercardbanktownresult.php - shop/orderichebanktown.inc.php - shop/orderichebanktownresult.php diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 2fd88d6c8..000000000 --- a/LICENSE +++ /dev/null @@ -1,209 +0,0 @@ -소프트웨어 제품은 저작권법 및 국제저작권 협약을 비롯하여, 기타 지적재산권법 및 협약의 보호를 받습니다. - -프로그램 명칭 : 그누보드4 (GNU Board 4) - -저작자 : SIR (홍석명) http://sir.co.kr - -라이센스 (License) - -번역문 아래에 원문이 있습니다. - -주의 ) -1. 이 라이센스는 그누보드4에만 적용하며 플러그인 프로그램 또는 스킨등에는 개별적인 라이센스를 적용할 수 있습니다. -2. 번역문과 원문의 내용상 차이가 있는 경우 원문의 내용을 따릅니다. -3. 법적인 분쟁이 발생한 경우 저작자의 회사 소재지를 관할하는 관할법원에서 분쟁을 해결합니다. -4. 이 라이센스 파일 및 내용은 저작자를 제외한 어느 누구도 추가, 수정, 삭제할 수 없습니다. - ------ GPL 번역문 -------------------------------------------------------- - -GNU 일반 공중 사용 허가서 -2판, 1991년 6월 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -누구든지 본 사용 허가서를 있는 그대로 복제하고 배포할 수 -있습니다. 그러나 본문에 대한 수정은 허용되지 않습니다. - - - - -전 문 -소프트웨어에 적용되는 대부분의 사용 허가서(license)들은 소프트웨어에 대한 수정과 공유의 자유를 제한하려는 것을 그 목적으로 합니다. 그러나 GNU 일반 공중 사용 허가서(이하, ``GPL''이라고 칭합니다.)는 자유 소프트웨어에 대한 수정과 공유의 자유를 모든 사용자들에게 보장하기 위해서 성립된 것입니다. 자유 소프트웨어 재단이 제공하는 대부분의 소프트웨어들은 GPL에 의해서 관리되고 있으며, 몇몇 소프트웨어에는 별도의 사용 허가서인 GNU 라이브러리 일반 공중 사용 허가서(GNU Library General Public License)를 대신 적용하기도 합니다. 자유 소프트웨어란, 이를 사용하려고 하는 모든 사람에 대해서 동일한 자유와 권리가 함께 양도되는 소프트웨어를 말하며 프로그램 저작자의 의지에 따라 어떠한 종류의 프로그램에도 GPL을 적용할 수 있습니다. 따라서 여러분이 만든 프로그램에도 GPL을 적용할 수 있습니다. - -자유 소프트웨어를 언급할 때 사용되는 ``자유''라는 단어는 무료(無料)를 의미하는 금전적인 측면의 자유가 아니라 구속되지 않는다는 관점에서의 자유를 의미하며, GPL은 자유 소프트웨어를 이용한 복제와 개작, 배포와 수익 사업 등의 가능한 모든 형태의 자유를 실질적으로 보장하고 있습니다. 여기에는 원시 코드(source code)의 전부 또는 일부를 원용해서 개선된 프로그램을 만들거나 새로운 프로그램을 창작할 수 있는 자유가 포함되며, 자신에게 양도된 이러한 자유와 권리를 보다 명확하게 인식할 수 있도록 하기 위한 규정도 포함되어 있습니다. - -GPL은 GPL 안에 소프트웨어를 양도받을 사용자의 권리를 제한하는 조항과 단서를 별항으로 추가시키지 못하게 함으로써 사용자들의 자유와 권리를 실제적으로 보장하고 있습니다. 자유 소프트웨어의 개작과 배포에 관계하고 있는 사람들은 이러한 무조건적인 권리 양도 규정을 준수해야만 합니다. - -예를 들어 GPL 프로그램을 배포할 경우에는 프로그램의 유료 판매나 무료 배포에 관계없이 자신이 해당 프로그램에 대해서 가질 수 있었던 모든 권리를, 프로그램을 받게될 사람에게 그대로 양도해 주어야 합니다. 이 경우, 프로그램의 원시 코드를 함께 제공하거나 원시 코드를 구할 수 있는 방법을 확실히 알려주어야 하고 이러한 모든 사항들을 사용자들이 분명히 알 수 있도록 명시해야 합니다. - -자유 소프트웨어 재단은 다음과 같은 두 가지 단계를 통해서 사용자들을 권리를 보호합니다. (1) 소프트웨어에 저작권을 설정합니다. (2) 저작권의 양도에 관한 실정법에 의해서 유효한 법률적 효력을 갖는 GPL을 통해 소프트웨어를 복제하거나 개작 및 배포할 수 있는 권리를 사용자들에게 부여합니다. - -자유 소프트웨어를 사용하는 사람들은 반복적인 재배포 과정을 통해 소프트웨어 자체에 수정과 변형이 일어날 수도 있으며, 이는 최초의 저작자가 만든 소프트웨어가 갖고 있는 문제가 아닐 수 있다는 개연성을 인식하고 있어야 합니다. 우리는 개작과 재배포 과정에서 다른 사람에 의해 발생된 문제로 인해 프로그램 원저작자들의 신망이 훼손되는 것을 원하지 않습니다. GPL에 자유 소프트웨어에 대한 어떠한 형태의 보증도 규정하지 않는 이유는 이러한 점들이 고려되었기 때문이며, 이는 프로그램 원저작자와 자유 소프트웨어 재단의 자유로운 활동을 보장하는 현실적인 수단이기도 합니다. - -특허 제도는 자유 소프트웨어의 발전을 위협하는 요소일 수밖에 없습니다. 자유 프로그램을 재배포하는 사람들이 개별적으로 특허를 취득하게 되면, 결과적으로 그 프로그램이 독점 소프트웨어가 될 가능성이 있습니다. 자유 소프트웨어 재단은 이러한 문제에 대처하기 위해서 어떠한 특허에 대해서도 그 사용 권리를 모든 사람들(이하, ``공중(公衆)''이라고 칭합니다.)에게 자유롭게 허용하는 경우에 한해서만 자유 소프트웨어와 함께 사용할 수 있다는 것을 명확히 밝히고 있습니다. - -복제(copying)와 개작(modification) 및 배포(distribution)에 관련된 구체적인 조건과 규정은 다음과 같습니다. - - -복제와 개작 및 배포에 관한 조건과 규정 - -제 0 조. 본 허가서는 GNU 일반 공중 사용 허가서의 규정에 따라 배포될 수 있다는 사항이 저작권자에 의해서 명시된 모든 컴퓨터 프로그램 저작물에 대해서 동일하게 적용됩니다. 컴퓨터 프로그램 저작물(이하, ``프로그램''이라고 칭합니다.)이란 특정한 결과를 얻기 위해서 컴퓨터 등의 정보 처리 능력을 가진 장치(이하, ``컴퓨터''라고 칭합니다.) 내에서 직접 또는 간접으로 사용되는 일련의 지시 및 명령으로 표현된 창작물을 의미하고, ``2차적 프로그램''이란 전술한 프로그램 자신 또는 저작권법의 규정에 따라 프로그램의 전부 또는 상당 부분을 원용하거나 다른 언어로의 번역을 포함할 수 있는 개작 과정을 통해서 창작된 새로운 프로그램과 이와 관련된 저작물을 의미합니다. (이후로 다른 언어로의 번역은 별다른 제한없이 개작의 범위에 포함되는 것으로 간주합니다.) ``피양도자''란 GPL의 규정에 따라 프로그램을 양도받은 사람을 의미하고, ``원(原)프로그램''이란 프로그램을 개작하거나 2차적 프로그램을 만들기 위해서 사용된 최초의 프로그램을 의미합니다. - -본 허가서는 프로그램에 대한 복제와 개작 그리고 배포 행위에 대해서만 적용됩니다. 따라서 프로그램을 실행시키는 행위에 대한 제한은 없습니다. 프로그램의 결과물(output)에는, 그것이 프로그램을 실행시켜서 생성된 것인지 아닌지의 여부에 상관없이 결과물의 내용이 원프로그램으로부터 파생된 2차적 프로그램을 구성했을 때에 한해서 본 허가서의 규정들이 적용됩니다. 2차적 프로그램의 구성 여부는 2차적 프로그램 안에서의 원프로그램의 역할을 토대로 판단합니다. - -제 1 조. 적절한 저작권 표시와 프로그램에 대한 보증이 제공되지 않는다는 사실을 각각의 복제물에 명시하는 한, 피양도자는 프로그램의 원시 코드를 자신이 양도받은 상태 그대로 어떠한 매체를 통해서도 복제하고 배포할 수 있습니다. 복제와 배포가 이루어 질 때는 본 허가서와 프로그램에 대한 보증이 제공되지 않는다는 사실에 대해서 언급되었던 모든 내용을 그대로 유지시켜야 하며, 영문판 GPL을 함께 제공해야 합니다. - -배포자는 복제물을 물리적으로 인도하는데 소요된 비용을 청구할 수 있으며, 선택 사항으로 독자적인 유료 보증을 설정할 수 있습니다. - -제 2 조. 피양도자는 자신이 양도받은 프로그램의 전부나 일부를 개작할 수 있으며, 이를 통해서 2차적 프로그램을 창작할 수 있습니다. 개작된 프로그램이나 창작된 2차적 프로그램은 다음의 사항들을 모두 만족시키는 조건에 한해서, 제1조의 규정에 따라 또다시 복제되고 배포될 수 있습니다. - -제 1 항. 파일을 개작할 때는 파일을 개작한 사실과 그 날짜를 파일 안에 명시해야 합니다. - -제 2 항. 배포하거나 공표하려는 저작물의 전부 또는 일부가 양도받은 프로그램으로부터 파생된 것이라면, 저작물 전체에 대한 사용 권리를 본 허가서의 규정에 따라 공중에게 무상으로 허용해야 합니다. - -제 3 항. 개작된 프로그램의 일반적인 실행 형태가 대화형 구조로 명령어를 읽어 들이는 방식을 취하고 있을 경우에는, 적절한 저작권 표시와 프로그램에 대한 보증이 제공되지 않는다는 사실, (별도의 보증을 설정한 경우라면 해당 내용) 그리고 양도받은 프로그램을 본 규정에 따라 재배포할 수 있다는 사실과 GPL 사본을 참고할 수 있는 방법이 함께 포함된 문구가 프로그램이 대화형 구조로 평이하게 실행된 직후에 화면 또는 지면으로 출력되도록 작성되어야 합니다. (예외 규정: 양도받은 프로그램이 대화형 구조를 갖추고 있다 하더라도 통상적인 실행 환경에서 전술한 사항들이 출력되지 않는 형태였을 경우에는 이를 개작한 프로그램 또한 관련 사항들을 출력시키지 않아도 무방합니다.) - -위의 조항들은 개작된 프로그램 전체에 적용됩니다. 만약, 개작된 프로그램에 포함된 특정 부분이 원프로그램으로부터 파생된 것이 아닌 별도의 독립 저작물로 인정될 만한 상당한 이유가 있을 경우에는 해당 저작물의 개별적인 배포에는 본 허가서의 규정들이 적용되지 않습니다. 그러나 이러한 저작물이 2차적 프로그램의 일부로서 함께 배포된다면 개별적인 저작권과 배포 기준에 상관없이 저작물 모두에 본 허가서가 적용되어야 하며, 전체 저작물에 대한 사용 권리는 공중에게 무상으로 양도됩니다. - -이러한 규정은 개별적인 저작물에 대한 저작자의 권리를 침해하거나 인정하지 않으려는 것이 아니라, 원프로그램으로부터 파생된 2차적 프로그램이나 수집 저작물의 배포를 일관적으로 규제할 수 있는 권리를 행사하기 위한 것입니다. - -원프로그램이나 원프로그램으로부터 파생된 2차적 프로그램을 이들로부터 파생되지 않은 다른 저작물과 함께 단순히 저장하거나 배포할 목적으로 동일한 매체에 모아 놓은 집합물의 경우에는, 원프로그램으로부터 파생되지 않은 다른 저작물에는 본 허가서의 규정들이 적용되지 않습니다. - -제 3 조. 피양도자는 다음 중 하나의 항목을 만족시키는 조건에 한해서 제1조와 제2조의 규정에 따라 프로그램(또는 제2조에서 언급된 2차적 프로그램)을 목적 코드(object code)나 실행물(executable form)의 형태로 복제하고 배포할 수 있습니다. - -제 1 항. 목적 코드나 실행물에 상응하는 컴퓨터가 인식할 수 있는 완전한 원시 코드를 함께 제공해야 합니다. 원시 코드는 제1조와 제2조의 규정에 따라 배포될 수 있어야 하며, 소프트웨어의 교환을 위해서 일반적으로 사용되는 매체를 통해 제공되어야 합니다. - -제 2 항. 배포에 필요한 최소한의 비용만을 받고 목적 코드나 실행물에 상응하는 완전한 원시 코드를 배포하겠다는, 최소한 3년간 유효한 약정서를 함께 제공해야 합니다. 이 약정서는 약정서를 갖고 있는 어떠한 사람에 대해서도 유효해야 합니다. 원시 코드는 컴퓨터가 인식할 수 있는 형태여야 하고 제1조와 제2조의 규정에 따라 배포될 수 있어야 하며, 소프트웨어의 교환을 위해서 일반적으로 사용되는 매체를 통해 제공되어야 합니다. - -제 3 항. 목적 코드나 실행물에 상응하는 원시 코드를 배포하겠다는 약정에 대해서 자신이 양도받은 정보를 함께 제공해야 합니다. (제3항은 위의 제2항에 따라 원시 코드를 배포하겠다는 약정을 프로그램의 목적 코드나 실행물과 함께 제공 받았고, 동시에 비상업적인 배포를 하고자 할 경우에 한해서만 허용됩니다.) - -저작물에 대한 원시 코드란 해당 저작물을 개작하기에 적절한 형식을 의미합니다. 실행물에 대한 완전한 원시 코드란 실행물에 포함된 모든 모듈들의 원시 코드와 이와 관련된 인터페이스 정의 파일 모두, 그리고 실행물의 컴파일과 설치를 제어하는데 사용된 스크립트 전부를 의미합니다. 그러나 특별한 예외의 하나로서, 실행물이 실행될 운영체제의 주요 부분(컴파일러나 커널 등)과 함께 (원시 코드나 바이너리의 형태로) 일반적으로 배포되는 구성 요소들은 이러한 구성 요소 자체가 실행물에 수반되지 않는 한 원시 코드의 배포 대상에서 제외되어도 무방합니다. - -목적 코드나 실행물을 지정한 장소로부터 복제해 갈 수 있게 하는 방식으로 배포할 경우, 동일한 장소로부터 원시 코드를 복제할 수 있는 동등한 접근 방법을 제공한다면 이는 원시 코드를 목적 코드와 함께 복제되도록 설정하지 않았다고 하더라도 원시 코드를 배포하는 것으로 간주됩니다. - -제 4 조. 본 허가서에 의해 명시적으로 이루어 지지 않는 한 프로그램에 대한 복제와 개작 및 하위 허가권 설정과 배포가 성립될 수 없습니다. 이와 관련된 어떠한 행위도 무효이며 본 허가서가 보장한 권리는 자동으로 소멸됩니다. 그러나 본 허가서의 규정에 따라 프로그램의 복제물이나 권리를 양도받았던 제3자는 본 허가서의 규정들을 준수하는 한, 배포자의 권리 소멸에 관계없이 사용상의 권리를 계속해서 유지할 수 있습니다. - -제 5 조. 본 허가서는 서명이나 날인이 수반되는 형식을 갖고 있지 않기 때문에 피양도자가 본 허가서의 내용을 반드시 받아들여야 할 필요는 없습니다. 그러나 프로그램이나 프로그램에 기반한 2차적 프로그램에 대한 개작 및 배포를 허용하는 것은 본 허가서에 의해서만 가능합니다. 만약 본 허가서에 동의하지 않을 경우에는 이러한 행위들이 법률적으로 금지됩니다. 따라서 프로그램(또는 프로그램에 기반한 2차적 프로그램)을 개작하거나 배포하는 행위는 이에 따른 본 허가서의 내용에 동의한다는 것을 의미하며, 복제와 개작 및 배포에 관한 본 허가서의 조건과 규정들을 모두 받아들이겠다는 의미로 간주됩니다. - -제 6 조. 피양도자에 의해서 프로그램(또는 프로그램에 기반한 2차적 프로그램)이 반복적으로 재배포될 경우, 각 단계에서의 피양도자는 본 허가서의 규정에 따른 프로그램의 복제와 개작 및 배포에 대한 권리를 최초의 양도자로부터 양도받은 것으로 자동적으로 간주됩니다. 프로그램(또는 프로그램에 기반한 2차적 프로그램)을 배포할 때는 피양도자의 권리의 행사를 제한할 수 있는 어떠한 사항도 추가할 수 없습니다. 그러나 피양도자에게, 재배포가 일어날 시점에서의 제3의 피양도자에게 본 허가서를 준수하도록 강제할 책임은 부과되지 않습니다. - -제 7 조. 법원의 판결이나 특허권 침해에 대한 주장 또는 특허 문제에 국한되지 않은 그밖의 이유들로 인해서 본 허가서의 규정에 배치되는 사항이 발생한다 하더라도 그러한 사항이 선행하거나 본 허가서의 조건과 규정들이 면제되는 것은 아닙니다. 따라서 법원의 명령이나 합의 등에 의해서 본 허가서에 위배되는 사항들이 발생한 상황이라도 양측 모두를 만족시킬 수 없다면 프로그램은 배포될 수 없습니다. 예를 들면, 특정한 특허 관련 허가가 프로그램의 복제물을 직접 또는 간접적인 방법으로 양도받은 임의의 제3자에게 해당 프로그램을 무상으로 재배포할 수 있게 허용하지 않는다면, 그러한 허가와 본 사용 허가를 동시에 만족시키면서 프로그램을 배포할 수 있는 방법은 없습니다. - -본 조항은 특정한 상황에서 본 조항의 일부가 유효하지 않거나 적용될 수 없을 경우에도 본 조항의 나머지 부분들을 적용하기 위한 의도로 만들어 졌습니다. 따라서 그 이외의 상황에서는 본 조항을 전체적으로 적용하면 됩니다. - -본 조항의 목적은 특허나 저작권 침해 등의 행위를 조장하거나 해당 권리를 인정하지 않으려는 것이 아니라, GPL을 통해서 구현되어 있는 자유 소프트웨어의 배포 체계를 통합적으로 보호하기 위한 것입니다. 많은 사람들이 배포 체계에 대한 신뢰있는 지원을 계속해 줌으로써 소프트웨어의 다양한 분야에 많은 공헌을 해 주었습니다. 소프트웨어를 어떠한 배포 체계로 배포할 것인가를 결정하는 것은 전적으로 저작자와 기증자들의 의지에 달려있는 것이지, 일반 사용자들이 강요할 수 있는 문제는 아닙니다. - -본 조항은 본 허가서의 다른 조항들에서 무엇이 중요하게 고려되어야 하는 지를 명확하게 설명하기 위한 목적으로 만들어진 것입니다. - -제 8 조. 특허나 저작권이 설정된 인터페이스로 인해서 특정 국가에서 프로그램의 배포와 사용이 함께 또는 개별적으로 제한되어 있는 경우, 본 사용 허가서를 프로그램에 적용한 최초의 저작권자는 문제가 발생하지 않는 국가에 한해서 프로그램을 배포한다는 배포상의 지역적 제한 조건을 명시적으로 설정할 수 있으며, 이러한 사항은 본 허가서의 일부로 간주됩니다. - -제 9 조. 자유 소프트웨어 재단은 때때로 본 사용 허가서의 개정판이나 신판을 공표할 수 있습니다. 새롭게 공표될 판은 당면한 문제나 현안을 처리하기 위해서 세부적인 내용에 차이가 발생할 수 있지만, 그 근본 정신에는 변함이 없을 것입니다. - -각각의 판들은 판번호를 사용해서 구별됩니다. 특정한 판번호와 그 이후 판을 따른다는 사항이 명시된 프로그램에는 해당 판이나 그 이후에 발행된 어떠한 판을 선택해서 적용해도 무방하고, 판번호를 명시하고 있지 않은 경우에는 자유 소프트웨어 재단이 공표한 어떠한 판번호의 판을 적용해도 무방합니다. - -제 10 조. 프로그램의 일부를 본 허가서와 배포 기준이 다른 자유 프로그램과 함께 결합하고자 할 경우에는 해당 프로그램의 저작자로부터 서면 승인을 받아야 합니다. 자유 소프트웨어 재단이 저작권을 갖고 있는 소프트웨어의 경우에는 자유 소프트웨어 재단의 승인을 얻어야 합니다. 우리는 이러한 요청을 수락하기 위해서 때때로 예외 기준을 만들기도 합니다. 자유 소프트웨어 재단은 일반적으로 자유 소프트웨어의 2차적 저작물들을 모두 자유로운 상태로 유지시키려는 목적과 소프트웨어의 공유와 재활용을 증진시키려는 두가지 목적을 기준으로 승인 여부를 결정할 것입니다. - -보증의 결여 (제11조, 제12조) - -제 11 조. 본 허가서를 따르는 프로그램은 무상으로 양도되기 때문에 관련 법률이 허용하는 한도 내에서 어떠한 형태의 보증도 제공되지 않습니다. 프로그램의 저작권자와 배포자가 공동 또는 개별적으로 별도의 보증을 서면으로 제공할 때를 제외하면, 특정한 목적에 대한 프로그램의 적합성이나 상업성 여부에 대한 보증을 포함한 어떠한 형태의 보증도 명시적이나 묵시적으로 설정되지 않은 ``있는 그대로의'' 상태로 이 프로그램을 배포합니다. 프로그램과 프로그램의 실행에 따라 발생할 수 있는 모든 위험은 피양도자에게 인수되며 이에 따른 보수 및 복구를 위한 제반 경비 또한 피양도자가 모두 부담해야 합니다. - -제 12 조. 저작권자나 배포자가 프로그램의 손상 가능성을 사전에 알고 있었다 하더라도 발생된 손실이 관련 법규에 의해 보호되고 있거나 이에 대한 별도의 서면 보증이 설정된 경우가 아니라면, 저작권자나 프로그램을 원래의 상태 또는 개작한 상태로 제공한 배포자는 프로그램의 사용이나 비작동으로 인해 발생된 손실이나 프로그램 자체의 손실에 대해 책임지지 않습니다. 이러한 면책 조건은 사용자나 제3자가 프로그램을 조작함으로써 발생된 손실이나 다른 소프트웨어와 프로그램을 함께 동작시키는 것으로 인해서 발생된 데이터의 상실 및 부정확한 산출 결과에만 국한되는 것이 아닙니다. 발생된 손실의 일반성이나 특수성 뿐 아니라 원인의 우발성 및 필연성도 전혀 고려되지 않습니다. - -복제와 개작 및 배포에 관한 조건과 규정의 끝. - - - ------ GPL 원문 -------------------------------------------------------- - -GNU GENERAL PUBLIC LICENSE -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - - -a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - -b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - -c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) -These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - -a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - -b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - -c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) -The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - -END OF TERMS AND CONDITIONS - ------ 끝 -------------------------------------------------------- diff --git a/LICENSE_YC4 b/LICENSE_YC4 deleted file mode 100644 index b583edd44..000000000 --- a/LICENSE_YC4 +++ /dev/null @@ -1,84 +0,0 @@ -소프트웨어 제품 사용권 - -소프트웨어 제품은 저작권법 및 국제 저작권 협약을 비롯하여, 기타 지적 재산권 법 및 협약의 보호를 받습니다. 소프트웨어 제품은 판매되는 것이 아니라 그 사용이 허가되는 것입니다. - -가. 사용약관 (License Agreement) - -제 1조. 목적 - -1. SIR(이하 " 회사"라 한다)이 제공하는 솔루션 프로그램(이하 "소프트웨어"라 한다)의 사용권을 구입한 후 설치하여 사용하는 사용자(이하 '사용자'라 한다)의 "소프트웨어" 사용에 관하여 필요로 하는 전반적인 내용에 대하여 규정하는것을 목적으로 합니다. - -제 2조. 저작권 및 사용의 범위 - -1. 본 "소프트웨어"의 소유권 및 저작권은 "회사"에게 있습니다. -2. "소프트웨어"와 부속 이미지 및 소프트웨어에 포함된 모든 권한은 "회사"에 있습니다. -3. "사용자"는 "소프트웨어"와 부속이미지 등을 도용 할 수 없습니다. -4. 본 "소프트웨어"의 저작권은 대한민국 및 국제 저작권에 관한 법률, 국제법, 국제조약, 국제적인 저작권협정에 의해 보호를 받습니다. -5. "소프트웨어"는 사용대금의 입금 완료 후 회사 홈페이지 또는 이메일로 등록번호와 프로그램을 전송받아 설치, 사용할 수 있는 상용 소프트웨어 입니다. -6. "소프트웨어"는 하나의 주도메인에 하나의 "소프트웨어"를 설치, 사용할 수 있습니다. -7. 본 약관에서 정의 하는 사용의 허락은 "소프트웨어"의 소유권 및 저작권을 가지는것은 아닙니다. - -제 3조. 소프트웨어에 대한 사용의 허락 - -1. 소프트웨어를 네트워크나 인터넷에 연결된 컴퓨터(이하 "서버"라 한다)에 설치하여 사용할 수 있습니다. -2. 소프트웨어는 사용상의 편의를 위해 사용자의 컴퓨터에 자료를 복사하여 보관할 수 있습니다. -3. "사용자"는 "회사"가 정한 본 약관에 동의 해야만 "소프트웨어"를 "서버"에 설치할 수 있습니다. -4. 소프트웨어의 소스코드의 일부 또는 전체를 변형하여 사용자의 "서버"에서 운영할 수 있습니다. - -제 4조. 소프트웨어의 사용제한 - -1. "소프트웨어"를 대여하거나 기타 상업적인 목적으로 재배포할 수 없습니다. -2. 소프트웨어의 소스코드의 일부 또는 전체를 변형하여 2차적 저작물을 창작하여서는 안되며, 만약, 2차적 저작물을 창작할 경우 "회사"로 부터 서면에 의해 허락을 받아야 합니다. -3. "소프트웨어"의 소스코드의 일부 또는 전체를 변형하여 인터넷 등 기타의 장소에 재배포 할 수 없습니다. -4. 디젠드(dezend), 디컴파일(decomplie) 또는 다른 방법으로 "소프트웨어"의 소스코드를 추출하고자 시도할 수 없습니다. (또한 어느 누구에게도 이를 하도록 허락할 수 없습니다.) 다만, 법률에 의하여 명시적으로 허용되거나 요구되는 경우 또는 "회사"로 부터 서면에 의하여 특별히 허락받은 때는 예외로 합니다. - -제 5조. 보증의 한계 - -1. "회사"는 "소프트웨어"가 최적이라고 판단되는 상태에서 사용권을 판매하는 것으로 "소프트웨어"의 내용이나 기능의 완벽성에 대해서는 일체의 보증을 하지 않습니다. -단, "회사"는 정당하다고 판단될 경우 신뢰적인 문제해결을 제공합니다. -2. "소프트웨어"는 사용환경, 사용경험 및 사용능력에 따라 그 결과가 달라질 수 있습니다. -3. "소프트웨어" 자체의 결함으로 인해 고객에게 직간접적으로 발생한 손실이 있을 경우, 회사의 금전적인 보상은 "소프트웨어"의 구입비용을 초과하지 않습니다. -단, 저작권과 관련된 문제가 발생한 경우 별도의 협의가 필요합니다. -4. "소프트웨어"에 대한 기본 보증기간은 구입 후 1년 입니다. "소프트웨어"의 다운로드도 기본 보증기간에 한합니다. -단, 개별적인 보증기간이 있는 경우는 그에 따릅니다. 보증기간이 지난 경우 무상지원이 되지 않습니다. - -제 6조. 환불 -1. "사용자"가 "소프트웨어"를 다운로드 또는 메일로 전송 받은 상태 또는 설치한 상태(설치 대행한 경우도 포함)에서는 환불이 불가합니다. -2. "사용자"가 "소프트웨어"의 구입을 위하여 구입한 후 7일이 지나면 환불이 불가합니다. -3. "사용자"가 환불을 요청하는 경우에는 결제시 지불된 수수료를 "사용자"가 부담하는 조건으로 환불할 수 있습니다. -4. "회사"는 "사용자"가 "소프트웨어"를 정상적으로 사용하기 어렵다는 판단이 들면 환불해 드릴 수 있습니다. -5. "사용자"의 부주의, 실수 등에 의한 경우 환불이 불가합니다. (예: 컴퓨터 오류에 의한 데이터 삭제, 데이터의 분실 등) - -제 7조. 면책 조항 - -1. "회사"는 천재지변, 전쟁 및 기타 이에 준하는 불가항력으로 인하여 서비스를 제공할 수 없는 경우에는 서비스 제공에 대한 책임이 면제됩니다. -2. "회사"는 기간통신 사업자가 전기통신 서비스를 중지하거나 정상적으로 제공하지 아니하여 손해가 발생한 경우 책임이 면제됩니다. -3. "회사"는 설비 보수, 교체, 정기점검, 공사 등 부득이한 사유로 서비스 장애가 발생한 경우 책임이 면제됩니다. -4. "사용자"의 귀책사유로 "사용자"의 아이디(ID)와 비밀번호가 유출되어 발생한 문제에 대한 책임은 "사용자"에게 있으며 "회사"는 아무런 책임이 없습니다. -5. "사용자"가 "사용자"의 전화번호, 이메일 등의 연락처정보를 최신의 상태로 유지하지 않아 발생한 문제에 대한 책임은 "사용자"에게 있으며 "회사"는 아무런 책임이 없습니다. (예: 서비스 내용 변경 고지 등) -6. "사용자"가 서비스 이용과 관련하여 다음과 같은 경우 "회사"는 책임을 지지 않습니다. -① "사용자"는 "사용자"의 저작권 위반, 보관 부실, 불법복제, 소스변형 등과 관련하여 발생하는 모든 종류의 손해에 대해 "회사"는 책임을 지지 않습니다. -② 컴퓨터 오류 등 "사용자"의 귀책사유로 인한 서비스 이용의 장애 또는 손해가 발생한 경우에 대하여 "회사"는 책임을 지지 않습니다. -③ "소프트웨어"의 최적화된 환경 외의 프로그램이나 버전에서 사용하여 발생한 문제에 대하여 "회사"는 책임을 지지 않습니다. -④ "사용자"가 서비스와 관련하여 자체적으로 게재한 정보, 사실, 자료 등의 정확성과 신뢰도에 대하여 "회사"는 책임을 지지 않습니다. -⑤ "사용자" 상호간 및 "사용자"와 제3자간에 서비스를 매개로 발생한 분쟁에 대해 "회사"는 개입할 의무가 없으며 이로 인한 손해를 배상할 책임도 없습니다. -7. "회사"가 무료로 제공하는 서비스의 이용과 관련해서 "회사"는 어떠한 손해에 대해서도 책임이 없습니다. - -제 8조. 권리의 양도 금지 - -"사용자"는 "회사"의 서면동의 없이 본 약관상의 권리와 의무를 제3자에게 양도할 수 없습니다. - -제 9조. 효력의 발생 - -본 약관의 효력은 "소프트웨어"를 다운로드 받거나 또는 서버에 설치함과 동시에 발생합니다. - -제 10조. 분쟁 및 관할 법원 - -1. "회사"는 제 4조에 명시된 사항 및 본 약관의 전반적인 사항에 위배된 "사용자"에 대하여 민, 형사상의 책임을 물을 수 있습니다. -2. 제 9조 1항에 의거 "회사"와 "사용자"간에 법적인 분쟁이 발생한 경우 "회사"의 소재지를 관할하는 관할법원으로 합니다. - -「부칙」 (시행일) -1. (시행일) 이 약관은 2004년 2 월 1 일부터 시행합니다. -2. (개정일) 이 약관은 2008년 10 월 1 일에 1차 개정되었으며 종전의 약관은 이 약관으로 대체합니다. - -주의: 이 문서는 판매 계약서가 아닌 라이센스 계약서입니다. 이 제품은 보증 및 배상절차에 대한 제한 사항이 언급되어 있는 상기 계약 조건에 따라 제공됩니다. \ No newline at end of file diff --git a/perms.sh b/perms.sh deleted file mode 100644 index 0aafecae2..000000000 --- a/perms.sh +++ /dev/null @@ -1,2 +0,0 @@ -chmod 707 . -chmod -R 707 data diff --git a/shop/cartsub.inc.php b/shop/cartsub.inc.php index ccf267fb7..dbcf80cff 100644 --- a/shop/cartsub.inc.php +++ b/shop/cartsub.inc.php @@ -5,8 +5,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 $s_page 는 cart.php 일때 수량의 수정, 물품의 삭제를 위한 변수이다. orderinquiryview.php 일때 배송상태등을 나타내는 변수이다. - $s_uq_id 는 유일한 키인데 orderupdate.php 에서 ck_uq_id 를 죽이면서 - ck_tmp_uq_id 에 복사본을 넣어준다. ck_tmp_uq_id 는 orderconfirm.php 에서만 사용한다. + $s_uq_id 는 유일한 키 */ if ($s_page == 'cart.php' || $s_page == 'orderinquiryview.php')