diff --git a/adm/config_form.php b/adm/config_form.php index 9539ea8b5..a86432b6b 100644 --- a/adm/config_form.php +++ b/adm/config_form.php @@ -272,12 +272,25 @@ if(!isset($member['mb_scrap_cnt'])) { } // 아이코드 토큰키 추가 -if( ! isset($config['cf_icode_token_key']) ){ +if(!isset($config['cf_icode_token_key']) ){ $sql = "ALTER TABLE `{$g5['config_table']}` ADD COLUMN `cf_icode_token_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_icode_server_port`; "; sql_query($sql, false); } - +// 아이디/비밀번호 찾기에 본인확인 사용 여부 필드 추가 +if(!isset($config['cf_cert_find']) ){ + $sql = "ALTER TABLE `{$g5['config_table']}` + ADD COLUMN `cf_cert_find` TINYINT(4) NOT NULL DEFAULT '0' AFTER `cf_cert_use`; "; + sql_query($sql, false); +} +// 통합인증 필드 추가 +if(!isset($config['cf_cert_sa']) ){ + $sql = "ALTER TABLE `{$g5['config_table']}` + ADD COLUMN `cf_cert_sa` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_hp`, + ADD COLUMN `cf_cert_kg_cd` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_sa`, + ADD COLUMN `cf_cert_kg_mid` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_kg_cd`; "; + sql_query($sql, false); +} if(!$config['cf_faq_skin']) $config['cf_faq_skin'] = "basic"; if(!$config['cf_mobile_faq_skin']) $config['cf_mobile_faq_skin'] = "basic"; @@ -836,16 +849,15 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) { - + checked > @@ -875,10 +887,10 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) { MID SRA -
+

API Key - + diff --git a/adm/config_form_update.php b/adm/config_form_update.php index de1200f85..1d5f8244a 100644 --- a/adm/config_form_update.php +++ b/adm/config_form_update.php @@ -22,7 +22,7 @@ check_admin_token(); $cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : ''; -$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret'); +$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret','cf_cert_kg_cd','cf_cert_kg_mid'); foreach( $check_keys as $key ){ if ( isset($_POST[$key]) && $_POST[$key] ){ @@ -99,8 +99,10 @@ $check_keys = array( 'cf_social_login_use' => 'int', 'cf_cert_req' => 'int', 'cf_cert_use' => 'int', +'cf_cert_find' => 'int', 'cf_cert_ipin' => 'char', 'cf_cert_hp' => 'char', +'cf_cert_sa' => 'char', 'cf_admin_email' => 'char', 'cf_admin_email_name' => 'char', 'cf_add_script' => 'text', @@ -171,12 +173,13 @@ foreach( $check_keys as $k => $v ){ } // 본인확인을 사용할 경우 아이핀, 휴대폰인증 중 하나는 선택되어야 함 -if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp']) - alert('본인확인을 위해 아이핀 또는 휴대폰 본인확인 서비스를 하나이상 선택해 주십시오'); +if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'] && !$_POST['cf_cert_sa']) + alert('본인확인을 위해 아이핀, 휴대폰 본인확인, KG이니시스 통합인증 서비스 중 하나이상 선택해 주십시오'); if(!$_POST['cf_cert_use']) { $posts[$key] = $_POST['cf_cert_ipin'] = ''; $posts[$key] = $_POST['cf_cert_hp'] = ''; + $posts[$key] = $_POST['cf_cert_sa'] = ''; } $sql = " update {$g5['config_table']} @@ -274,8 +277,12 @@ $sql = " update {$g5['config_table']} cf_captcha_mp3 = '{$_POST['cf_captcha_mp3']}', cf_editor = '{$_POST['cf_editor']}', cf_cert_use = '{$_POST['cf_cert_use']}', + cf_cert_find = '{$_POST['cf_cert_find']}', cf_cert_ipin = '{$_POST['cf_cert_ipin']}', cf_cert_hp = '{$_POST['cf_cert_hp']}', + cf_cert_sa = '{$_POST['cf_cert_sa']}', + cf_cert_kg_cd = '{$_POST['cf_cert_kg_cd']}', + cf_cert_kg_mid = '{$_POST['cf_cert_kg_mid']}', cf_cert_kcb_cd = '{$_POST['cf_cert_kcb_cd']}', cf_cert_kcp_cd = '{$_POST['cf_cert_kcp_cd']}', cf_lg_mid = '{$_POST['cf_lg_mid']}', diff --git a/adm/member_list.php b/adm/member_list.php index 57811098d..b40fbb32b 100644 --- a/adm/member_list.php +++ b/adm/member_list.php @@ -194,6 +194,10 @@ $colspan = 16; $mb_certify_case = '아이핀'; $mb_certify_val = ''; break; + case 'sa': + $mb_certify_case = '통합인증'; + $mb_certify_val = ''; + break; case 'admin': $mb_certify_case = '관리자'; $mb_certify_val = 'admin'; diff --git a/adm/sms_admin/num_book.php b/adm/sms_admin/num_book.php index 4e89db11f..270882031 100644 --- a/adm/sms_admin/num_book.php +++ b/adm/sms_admin/num_book.php @@ -178,7 +178,8 @@ function no_hp_click(val) } $line = 0; $qry = sql_query("select * from {$g5['sms5_book_table']} where 1 $sql_group $sql_search $sql_korean $sql_no_hp order by bk_no desc limit $page_start, $page_size"); - while($res = sql_fetch_array($qry)) + // while($res = sql_fetch_array($qry)) + for ($i=0; $res = sql_fetch_array($qry); $i++) { $bg = 'bg'.($line++%2); diff --git a/bbs/password_reset.php b/bbs/password_reset.php index 4b53664c0..088d734db 100644 --- a/bbs/password_reset.php +++ b/bbs/password_reset.php @@ -1,5 +1,17 @@ -password_reset.php
-- skin/member/basic/password_reset.skin.php
-- mobile/skin/member/basic/password_reset.skin.php
-- theme/basic/skin/member/basic/password_reset.skin.php
-- theme/basic/mobile/skin/member/basic/password_reset.skin.php \ No newline at end of file + https 간 세션 공유 문제로 인해 추가 ); $server_script_name = str_replace('\\', '/', $_SERVER['SCRIPT_NAME']); diff --git a/config.php b/config.php index 2d568eb56..760110999 100644 --- a/config.php +++ b/config.php @@ -59,6 +59,7 @@ define('G5_MOBILE_DIR', 'mobile'); define('G5_OKNAME_DIR', 'okname'); define('G5_KCPCERT_DIR', 'kcpcert'); +define('G5_KGCERT_DIR', 'kgcert'); define('G5_LGXPAY_DIR', 'lgxpay'); define('G5_SNS_DIR', 'sns'); @@ -97,6 +98,7 @@ define('G5_PLUGIN_URL', G5_URL.'/'.G5_PLUGIN_DIR); define('G5_EDITOR_URL', G5_PLUGIN_URL.'/'.G5_EDITOR_DIR); define('G5_OKNAME_URL', G5_PLUGIN_URL.'/'.G5_OKNAME_DIR); define('G5_KCPCERT_URL', G5_PLUGIN_URL.'/'.G5_KCPCERT_DIR); +define('G5_KGCERT_URL', G5_PLUGIN_URL.'/'.G5_KGCERT_DIR); define('G5_LGXPAY_URL', G5_PLUGIN_URL.'/'.G5_LGXPAY_DIR); define('G5_SNS_URL', G5_PLUGIN_URL.'/'.G5_SNS_DIR); define('G5_SYNDI_URL', G5_PLUGIN_URL.'/'.G5_SYNDI_DIR); @@ -116,6 +118,7 @@ define('G5_EDITOR_PATH', G5_PLUGIN_PATH.'/'.G5_EDITOR_DIR); define('G5_OKNAME_PATH', G5_PLUGIN_PATH.'/'.G5_OKNAME_DIR); define('G5_KCPCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KCPCERT_DIR); +define('G5_KGCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KGCERT_DIR); define('G5_LGXPAY_PATH', G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR); define('G5_SNS_PATH', G5_PLUGIN_PATH.'/'.G5_SNS_DIR); diff --git a/install/gnuboard5.sql b/install/gnuboard5.sql index cbb98b45b..c0bdcb9d5 100644 --- a/install/gnuboard5.sql +++ b/install/gnuboard5.sql @@ -285,8 +285,12 @@ CREATE TABLE IF NOT EXISTS `g5_config` ( `cf_captcha_mp3` varchar(255) NOT NULL DEFAULT '', `cf_editor` varchar(50) NOT NULL DEFAULT '', `cf_cert_use` tinyint(4) NOT NULL DEFAULT '0', + `cf_cert_find` tinyint(4) NOT NULL DEFAULT '0', `cf_cert_ipin` varchar(255) NOT NULL DEFAULT '', `cf_cert_hp` varchar(255) NOT NULL DEFAULT '', + `cf_cert_sa` varchar(255) NOT NULL DEFAULT '', + `cf_cert_kg_cd` varchar(255) NOT NULL DEFAULT '', + `cf_cert_kg_mid` varchar(255) NOT NULL DEFAULT '', `cf_cert_kcb_cd` varchar(255) NOT NULL DEFAULT '', `cf_cert_kcp_cd` varchar(255) NOT NULL DEFAULT '', `cf_lg_mid` varchar(100) NOT NULL DEFAULT '', diff --git a/js/certify.js b/js/certify.js index 214c50561..7401a7cd8 100644 --- a/js/certify.js +++ b/js/certify.js @@ -1,7 +1,5 @@ // 본인확인 인증창 호출 -function certify_win_open(type, url, event) -{ - +function certify_win_open(type, url, event) { if (typeof event == "undefined") { event = window.event; } @@ -94,12 +92,15 @@ function certify_win_open(type, url, event) } // 인증체크 -function cert_confirm() -{ +function cert_confirm() { + var type; - var val = document.fregisterform.cert_type.value + var val = document.fregisterform.cert_type.value; switch(val) { + case "sa": + type = "통합인증"; + break; case "ipin": type = "아이핀"; break; @@ -114,4 +115,24 @@ function cert_confirm() return true; else return false; +} + +function call_sa(url) { + let window = popup_center(); + if(window != undefined && window != null) { + window.location.href = url; + } +} + +function popup_center() { + let _width = 400; + let _height = 620; + var xPos = (document.body.offsetWidth/2) - (_width/2); // 가운데 정렬 + xPos += window.screenLeft; // 듀얼 모니터일 때 + if( navigator.userAgent.indexOf("Android") > - 1 || navigator.userAgent.indexOf("iPhone") > - 1 ) // 모바일일때 + { + return window; + }else { + return window.open("", "sa_popup", "width="+_width+", height="+_height+", left="+xPos+", menubar=yes, status=yes, titlebar=yes, resizable=yes"); + } } \ No newline at end of file diff --git a/lib/common.lib.php b/lib/common.lib.php index d84af1501..e98c1d149 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -2782,6 +2782,9 @@ function certify_count_check($mb_id, $type) $row = sql_fetch($sql); switch($type) { + case 'sa' : + $cert = '통합인증'; + break; case 'hp': $cert = '휴대폰'; break; diff --git a/mobile/shop/cart.php b/mobile/shop/cart.php index b1a7c9e51..ee61156bd 100644 --- a/mobile/shop/cart.php +++ b/mobile/shop/cart.php @@ -185,7 +185,6 @@ $cart_count = sql_num_rows($result); - diff --git a/mobile/skin/member/basic/password_lost.skin.php b/mobile/skin/member/basic/password_lost.skin.php index f08e6aa94..0501d43aa 100644 --- a/mobile/skin/member/basic/password_lost.skin.php +++ b/mobile/skin/member/basic/password_lost.skin.php @@ -3,11 +3,14 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 add_stylesheet('', 0); -?> + +if($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?> + + -
+

이메일로 찾기

@@ -16,36 +19,127 @@ add_stylesheet('', 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
해당 이메일로 아이디와 비밀번호 정보를 보내드립니다.

- + + - - + +
- +

본인인증으로 찾기

+
- - - - + + + +
+
- - + + + + +
+
+
+ + \ No newline at end of file diff --git a/mobile/skin/member/basic/password_reset.skin.php b/mobile/skin/member/basic/password_reset.skin.php index 264584123..ab12a0a7d 100644 --- a/mobile/skin/member/basic/password_reset.skin.php +++ b/mobile/skin/member/basic/password_reset.skin.php @@ -8,17 +8,16 @@ add_stylesheet('
-
+

새로운 비밀번호를 입력해주세요.

- + - + - +
-
diff --git a/mobile/skin/member/basic/register.skin.php b/mobile/skin/member/basic/register.skin.php index 9282ae925..9c9141423 100644 --- a/mobile/skin/member/basic/register.skin.php +++ b/mobile/skin/member/basic/register.skin.php @@ -49,7 +49,7 @@ add_stylesheet('', 이용자 식별 및 본인여부 확인 - 아이디, 이름, 비밀번호 + 아이디, 이름, 비밀번호 회원 탈퇴 시까지 diff --git a/mobile/skin/member/basic/register_form.skin.php b/mobile/skin/member/basic/register_form.skin.php index a6e38a612..d11e183ad 100644 --- a/mobile/skin/member/basic/register_form.skin.php +++ b/mobile/skin/member/basic/register_form.skin.php @@ -7,7 +7,7 @@ add_stylesheet('',
- + @@ -51,12 +51,12 @@ add_stylesheet('', 토스 인증'.PHP_EOL; - echo ''.PHP_EOL; - echo ''.PHP_EOL; - echo ''.PHP_EOL; - // } + if($config['cf_cert_sa']) { + echo ''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; + } if($config['cf_cert_hp']) echo ''.PHP_EOL; if($config['cf_cert_ipin']) @@ -67,10 +67,17 @@ add_stylesheet('', ?>
본인확인성인인증 완료 @@ -122,12 +129,12 @@ add_stylesheet('', - +
  • class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> - + @@ -282,28 +289,65 @@ add_stylesheet('', ', 10); $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : ''; -?> +if($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?> + + + + +
    + + + +

    회원가입약관 및 개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.

    + +
    +

    회원가입약관

    + +
    + + +
    +
    + +
    +

    개인정보 수집 및 이용

    +
    + + + + + + + + + + + + + + + + + + + + + +
    개인정보 수집 및 이용
    목적항목보유기간
    이용자 식별 및 본인여부 확인아이디, 이름, 비밀번호회원 탈퇴 시까지
    고객서비스 이용에 관한 통지,
    CS대응을 위한 이용자 식별
    연락처 (이메일, 휴대전화번호)회원 탈퇴 시까지
    +
    + +
    + + +
    +
    + +
    + + +
    + + -
    - - + - - - + + - - -
    -
    - 자세히보기 - +
    +
    +

    개인정보 입력

    +
      +
    • + 토스 인증'.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; + } + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + if($config['cf_cert_ipin']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + +
      + 본인확인성인인증 완료 +
      + +
    • + +
    • + + class="frm_input full_input " size="10" placeholder="이름"> +
    • + + +
    • + + + + + +
    • + +
    • + + + + +
      +
    • +
    • + + + + class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> + + + + +
    • +
    +
    +
    +
    + 취소 + +
    + +
    + + + + +
    +

    혹시 기존 회원이신가요?

    + +
    + +
  • - +
  • class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> - + @@ -281,28 +288,66 @@ add_stylesheet('', + -
    +

    이메일로 찾기

    @@ -20,29 +23,117 @@ add_stylesheet('', - +
    - +

    본인인증으로 찾기

    +
    - - - - + + + +
    +
    - - + + + + +
    +
    +
    + - + @@ -56,13 +56,12 @@ add_stylesheet('',
  • 토스 인증'.PHP_EOL; - echo ''.PHP_EOL; - echo ''.PHP_EOL; - echo ''.PHP_EOL; - // } + if($config['cf_cert_sa']) { + echo ''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; + } if($config['cf_cert_hp']) echo ''.PHP_EOL; if($config['cf_cert_ipin']) @@ -73,10 +72,17 @@ add_stylesheet('', ?>
    본인확인성인인증 완료 @@ -110,11 +116,11 @@ add_stylesheet('', - + + -
  • @@ -132,11 +138,11 @@ add_stylesheet('',
  • - + class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> - + @@ -294,14 +300,52 @@ gif, jpg, png파일만 가능하며 용량 $(function() { $("#reg_zip_find").css("display", "inline-block"); + var pageTypeParam = "pageType=register"; + + // TOSS 통합인증 + var url = "/kg_request.php"; + var type = ""; + var params = ""; + var request_url = ""; + + + $(".win_sa_cert").click(function() { + if(!cert_confirm()) return false; + type = $(this).data("type"); + switch(type) { + case "TOSS" : + params = "?directAgency=" + type + "&" + pageTypeParam; + request_url = url + params; + call_sa(request_url); + break; + case "PASS" : + params = "?directAgency=" + type + "&" + pageTypeParam; + request_url = url + params; + call_sa(request_url); + break; + case "PAYCO" : + params = "?directAgency=" + type + "&" + pageTypeParam; + request_url = url + params; + call_sa(request_url); + break; + case "KFTC" : + params = "?directAgency=" + type + "&" + pageTypeParam; + request_url = url + params; + call_sa(request_url); + break; + default : + return; + } + }); + // 아이핀인증 + var params = ""; $("#win_ipin_cert").click(function() { - if(!cert_confirm()) - return false; - - var url = "/ipin1.php"; + if(!cert_confirm()) return false; + params = "?" + pageTypeParam; + var url = "/ipin1.php"+params; certify_win_open('kcb-ipin', url); return; }); @@ -309,13 +353,13 @@ $(function() { // 휴대폰인증 + var params = ""; $("#win_hp_cert").click(function() { - if(!cert_confirm()) - return false; - - - - certify_win_open("", ""); + + certify_win_open("", ""+params); return; });