diff --git a/adm/member_list.php b/adm/member_list.php
index 248b62be8..78ba3efd9 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 'simple':
+ $mb_certify_case = '간편인증';
+ $mb_certify_val = '';
+ break;
case 'admin':
$mb_certify_case = '관리자';
$mb_certify_val = 'admin';
@@ -236,10 +240,12 @@ $colspan = 16;
?>
- >
-
+ >
+
>
-
+
+ >
+
|
Yes':'No'; ?> |
diff --git a/adm/service.php b/adm/service.php
index 0317c67da..06cf509f6 100644
--- a/adm/service.php
+++ b/adm/service.php
@@ -15,45 +15,34 @@ include_once('./admin.head.php');
신용카드 전자결제 서비스 (계좌이체, 가상계좌 결제 포함)
- 이곳을 통하여 가입하시면 신용카드 결제를 국내 최저 수수료인 3.2%에 이용 할 수 있습니다. 영카트를 사용하지 않아도 이 수수료를 적용 받을 수 있습니다. 아래 가입을 희망하시는 회사의 로고를 클릭하시면 가입페이지로 이동합니다.
+
- 휴대폰 본인확인 서비스
- 정보통신망법 23조 2항(주민등록번호의 사용제한)에 따라 기존 주민등록번호 기반의 인증서비스 이용이 불가합니다. 주민등록번호 대체수단으로 최소한의 정보(생년월일, 휴대폰번호, 성별)를 입력받아 본인임을 확인하는 인증수단 입니다
+ 본인확인 서비스
-
- 아이핀 본인확인 서비스
- 정부가 주관하는 주민등록번호 대체 수단으로 본인의 개인정보를 아이핀 사이트에 한번만 발급해 놓고, 이후부터는 아이디와 패스워드 만으로 본인임을 확인하는 인증수단 입니다.
-
- 
-
-
-
-
- SMS 문자 서비스
- 주문이나 배송시에 상점운영자 또는 고객에게 휴대폰으로 단문메세지 (최대 한글 40자, 영문 80자)를 발송합니다.
-
-
+
+ SMS 문자 서비스
+ 주문이나 배송시에 상점운영자 또는 고객에게 휴대폰으로 단문메세지 (최대 한글 40자, 영문 80자)를 발송합니다.
+
+
'{$member['mb_id']}' and mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
+ $row = sql_fetch($sql);
+ if (!empty($row['mb_id'])) {
+ alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.");
+ }
+}
+
+$sql = '';
+$sql_certify = '';
+$md5_cert_no = get_session('ss_cert_no');
+$cert_type = get_session('ss_cert_type');
+if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
+ // 해시값이 같은 경우에만 본인확인 값을 저장한다.
+ if ($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함
+ $sql_certify .= " mb_hp = '{$mb_hp}' ";
+ $sql_certify .= " , mb_certify = '{$cert_type}' ";
+ $sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
+ $sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
+ $sql_certify .= " , mb_sex = '".get_session+('ss_cert_sex')."' ";
+ $sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
+ $sql_certify .= " , mb_name = '{$mb_name}' ";
+ } else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
+ $sql_certify .= " mb_hp = '{$mb_hp}' ";
+ $sql_certify .= " , mb_certify = '{$cert_type}' ";
+ $sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
+ $sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
+ $sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
+ $sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
+ $sql_certify .= " , mb_name = '{$mb_name}' ";
+ }else {
+ alert('본인인증된 정보와 입력된 회원정보가 일치하지않습니다. 다시시도 해주세요');
+ }
+} else {
+ if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
+ $sql_certify .= " mb_hp = '{$mb_hp}' ";
+ $sql_certify .= " , mb_certify = '' ";
+ $sql_certify .= " , mb_adult = 0 ";
+ $sql_certify .= " , mb_birth = '' ";
+ $sql_certify .= " , mb_sex = '' ";
+ }
+}
+
+$sql = "update {$g5['member_table']} set {$sql_certify} where mb_id = '{$mb_id}'";
+$result = sql_query($sql, false);
+
+if($result){
+ if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
+ insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
+ }else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
+ insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
+ }
+}
+
+//===============================================================
+
+(empty($url))? goto_url(G5_URL) : goto_url($url);
\ No newline at end of file
diff --git a/bbs/member_leave.php b/bbs/member_leave.php
index bda999408..4763b408b 100644
--- a/bbs/member_leave.php
+++ b/bbs/member_leave.php
@@ -14,7 +14,7 @@ if (!($post_mb_password && check_password($post_mb_password, $member['mb_passwor
// 회원탈퇴일을 저장
$date = date("Ymd");
-$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}' where mb_id = '{$member['mb_id']}' ";
+$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 탈퇴함\n".sql_real_escape_string($mb['mb_memo'])."', mb_certify = '', mb_adult = 0, mb_dupinfo = '' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
// 3.09 수정 (로그아웃)
diff --git a/bbs/password_lost.php b/bbs/password_lost.php
index c8f93f352..8e7a6391d 100644
--- a/bbs/password_lost.php
+++ b/bbs/password_lost.php
@@ -3,13 +3,13 @@ include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
if ($is_member) {
- alert("이미 로그인중입니다.");
+ alert("이미 로그인중입니다.", G5_URL);
}
$g5['title'] = '회원정보 찾기';
-include_once(G5_PATH.'/head.sub.php');
+include_once(G5_PATH.'/_head.php');
$action_url = G5_HTTPS_BBS_URL."/password_lost2.php";
include_once($member_skin_path.'/password_lost.skin.php');
-include_once(G5_PATH.'/tail.sub.php');
\ No newline at end of file
+include_once(G5_PATH.'/_tail.php');
\ No newline at end of file
diff --git a/bbs/password_reset.php b/bbs/password_reset.php
new file mode 100644
index 000000000..088d734db
--- /dev/null
+++ b/bbs/password_reset.php
@@ -0,0 +1,17 @@
+ '{$member['mb_id']}' and mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
$row = sql_fetch($sql);
- if ($row['mb_id']) {
- alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
+ if (!empty($row['mb_id'])) {
+ alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.");
}
}
@@ -176,7 +176,16 @@ $md5_cert_no = get_session('ss_cert_no');
$cert_type = get_session('ss_cert_type');
if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
// 해시값이 같은 경우에만 본인확인 값을 저장한다.
- if (get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) {
+ if ($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함
+ $sql_certify .= " , mb_hp = '{$mb_hp}' ";
+ $sql_certify .= " , mb_certify = '{$cert_type}' ";
+ $sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
+ $sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
+ $sql_certify .= " , mb_sex = '".get_session+('ss_cert_sex')."' ";
+ $sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
+ if($w == 'u')
+ $sql_certify .= " , mb_name = '{$mb_name}' ";
+ } else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
@@ -185,12 +194,8 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
- } else {
- $sql_certify .= " , mb_hp = '{$mb_hp}' ";
- $sql_certify .= " , mb_certify = '' ";
- $sql_certify .= " , mb_adult = 0 ";
- $sql_certify .= " , mb_birth = '' ";
- $sql_certify .= " , mb_sex = '' ";
+ }else {
+ alert('본인인증된 정보와 입력된 회원정보가 일치하지않습니다. 다시시도 해주세요');
}
} else {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
@@ -202,7 +207,6 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
}
}
//===============================================================
-
if ($w == '') {
$sql = " insert into {$g5['member_table']}
set mb_id = '{$mb_id}',
@@ -304,6 +308,12 @@ if ($w == '') {
set_session('ss_mb_reg', $mb_id);
+ if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
+ insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
+ }else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
+ insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
+ }
+
} else if ($w == 'u') {
if (!trim(get_session('ss_mb_id')))
alert('로그인 되어 있지 않습니다.');
@@ -361,6 +371,12 @@ if ($w == '') {
{$sql_certify}
where mb_id = '$mb_id' ";
sql_query($sql);
+
+ if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
+ insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
+ }else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
+ insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
+ }
}
diff --git a/bbs/write.php b/bbs/write.php
index c176f8070..f547d4789 100644
--- a/bbs/write.php
+++ b/bbs/write.php
@@ -187,26 +187,22 @@ if (!empty($group['gr_use_access'])) {
}
// 본인확인을 사용한다면
-if ($config['cf_cert_use'] && !$is_admin) {
+if ($board['bo_use_cert'] != '' && $config['cf_cert_use'] && !$is_admin) {
// 인증된 회원만 가능
- if ($board['bo_use_cert'] != '' && $is_guest) {
- alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', 'login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
+ if ($is_guest) {
+ alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
- if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
+ if (strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
+ goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
+ }
+
+ if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
}
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
- alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글쓰기가 가능합니다.\\n\\n성인인데 글쓰기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
- }
-
- if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
- alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
- }
-
- if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
- alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
+ alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
}
}
diff --git a/common.php b/common.php
index 3accb2512..dd4c2e1af 100644
--- a/common.php
+++ b/common.php
@@ -284,8 +284,10 @@ if( ! class_exists('XenoPostToForm') ){
if( !function_exists('shop_check_is_pay_page') ){
function shop_check_is_pay_page(){
$shop_dir = 'shop';
+ $plugin_dir = 'plugin';
$mobile_dir = G5_MOBILE_DIR;
+
// PG 결제사의 리턴페이지 목록들
$pg_checks_pages = array(
$shop_dir.'/inicis/INIStdPayReturn.php', // 영카트 5.2.9.5 이하에서 사용됨, 그 이상버전에서는 파일 삭제됨
@@ -297,6 +299,8 @@ if( !function_exists('shop_check_is_pay_page') ){
$mobile_dir.'/'.$shop_dir.'/lg/xpay_approval.php',
$mobile_dir.'/'.$shop_dir.'/kcp/order_approval_form.php',
$shop_dir.'/kakaopay/inicis_kk_return.php', // 이니시스 카카오페이 (SIRK 로 시작하는 아이디 전용)
+ $plugin_dir."/inicert/ini_result.php", // 이니시스 간편인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
+ $plugin_dir."/inicert/ini_find_result.php", // 이니시스 간편인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
);
$server_script_name = str_replace('\\', '/', $_SERVER['SCRIPT_NAME']);
@@ -791,6 +795,12 @@ if(!empty($extend_file) && is_array($extend_file)) {
}
unset($extend_file);
+if($is_member && !$is_admin && (!defined("G5_CERT_IN_PROG") || !G5_CERT_IN_PROG) && $config['cf_cert_use'] <> 0 && $config['cf_cert_req']) { // 본인인증이 필수일때
+ if ((empty($member['mb_certify']) || (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) == 64))) { // di로 인증되어 있거나 본인인증이 안된 계정일때
+ goto_url(G5_BBS_URL."/member_cert_refresh.php");
+ }
+}
+
ob_start();
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
diff --git a/config.php b/config.php
index 8ede1c127..9c67d04f2 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_INICERT_DIR', 'inicert');
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_INICERT_URL', G5_PLUGIN_URL.'/'.G5_INICERT_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_INICERT_PATH', G5_PLUGIN_PATH.'/'.G5_INICERT_DIR);
define('G5_LGXPAY_PATH', G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR);
define('G5_SNS_PATH', G5_PLUGIN_PATH.'/'.G5_SNS_DIR);
diff --git a/css/default.css b/css/default.css
index 115970dbb..23aac5b1b 100644
--- a/css/default.css
+++ b/css/default.css
@@ -165,7 +165,7 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)}
/* 중간 레이아웃 */
#wrapper {}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
-#container_wr {margin:0 auto;height:100%;zoom:1}
+#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
@@ -272,7 +272,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
-a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
+a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
@@ -402,7 +402,8 @@ box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
-.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer}
+.new_win .cert_btn {margin-bottom:30px;text-align:center}
+.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
/* 검색결과 색상 */
diff --git a/css/default_shop.css b/css/default_shop.css
index 3e26e83e4..a06fefcf4 100644
--- a/css/default_shop.css
+++ b/css/default_shop.css
@@ -329,7 +329,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
-a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
+a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
a.btn_frmline {line-height:24px}
@@ -504,7 +504,7 @@ box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win .new_win_con2 {margin:20px 0 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center;padding-bottom:30px}
-.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer}
+.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
diff --git a/css/mobile.css b/css/mobile.css
index e37088e53..fe161442d 100644
--- a/css/mobile.css
+++ b/css/mobile.css
@@ -321,6 +321,7 @@ box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win .win_btn {clear:both;padding:10px 0 30px;text-align:center}
.new_win .win_btn a {display:inline-block;height:45px;line-height:40px;font-weight:bold}
+.new_win .cert_btn {text-align:center}
.new_win .btn_close {width:60px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
diff --git a/install/gnuboard5.sql b/install/gnuboard5.sql
index cbb98b45b..d9785a35c 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_simple` 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 '',
@@ -361,6 +365,25 @@ CREATE TABLE IF NOT EXISTS `g5_cert_history` (
-- --------------------------------------------------------
+--
+-- Table structure for table `g5_cert_history`
+--
+
+DROP TABLE IF EXISTS `g5_member_cert_history`;
+CREATE TABLE IF NOT EXISTS `g5_member_cert_history` (
+ `ch_id` int(11) NOT NULL auto_increment,
+ `mb_id` varchar(20) NOT NULL DEFAULT '',
+ `ch_name` varchar(255) NOT NULL DEFAULT '',
+ `ch_hp` varchar(255) NOT NULL DEFAULT '',
+ `ch_birth` varchar(255) NOT NULL DEFAULT '',
+ `ch_type` varchar(20) NOT NULL DEFAULT '',
+ `ch_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
+ PRIMARY KEY (`ch_id`),
+ KEY `mb_id` (`mb_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
--
-- Table structure for table `g5_group`
--
diff --git a/install/install_db.php b/install/install_db.php
index b5ed70b38..6eab4b9fa 100644
--- a/install/install_db.php
+++ b/install/install_db.php
@@ -599,6 +599,7 @@ fwrite($f, "\$g5['faq_master_table'] = G5_TABLE_PREFIX.'faq_master'; // 자주
fwrite($f, "\$g5['new_win_table'] = G5_TABLE_PREFIX.'new_win'; // 새창 테이블\n");
fwrite($f, "\$g5['menu_table'] = G5_TABLE_PREFIX.'menu'; // 메뉴관리 테이블\n");
fwrite($f, "\$g5['social_profile_table'] = G5_TABLE_PREFIX.'member_social_profiles'; // 소셜 로그인 테이블\n");
+fwrite($f, "\$g5['member_cert_history_table'] = G5_TABLE_PREFIX.'member_cert_history'; // 본인인증 변경내역 테이블\n");
if($g5_shop_install) {
fwrite($f, "\n");
diff --git a/js/certify.js b/js/certify.js
index 214c50561..c9c78576a 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 "simple":
+ type = "간편인증";
+ break;
case "ipin":
type = "아이핀";
break;
@@ -114,4 +115,19 @@ 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; // 듀얼 모니터일 때
+ 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 83ef9c3b0..a92f05929 100644
--- a/lib/common.lib.php
+++ b/lib/common.lib.php
@@ -2764,6 +2764,41 @@ function insert_cert_history($mb_id, $company, $method)
sql_query($sql);
}
+// 본인확인 변경내역 기록
+function insert_member_cert_history($mb_id, $name, $hp, $birth, $type)
+{
+ global $g5;
+
+ // 본인인증 내역 테이블 정보가 dbconfig에 없으면 소셜 테이블 정의
+ if( !isset($g5['member_cert_history']) ){
+ $g5['member_cert_history_table'] = G5_TABLE_PREFIX.'member_cert_history';
+ }
+
+ // 멤버 본인인증 정보 변경 내역 테이블 없을 경우 생성
+ if(isset($g5['member_cert_history_table']) && !sql_query(" DESC {$g5['member_cert_history_table']} ", false)) {
+ sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['member_cert_history_table']}` (
+ `ch_id` int(11) NOT NULL auto_increment,
+ `mb_id` varchar(20) NOT NULL DEFAULT '',
+ `ch_name` varchar(255) NOT NULL DEFAULT '',
+ `ch_hp` varchar(255) NOT NULL DEFAULT '',
+ `ch_birth` varchar(255) NOT NULL DEFAULT '',
+ `ch_type` varchar(20) NOT NULL DEFAULT '',
+ `ch_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
+ PRIMARY KEY (`ch_id`),
+ KEY `mb_id` (`mb_id`)
+ ) ", true);
+ }
+
+ $sql = " insert into {$g5['member_cert_history_table']}
+ set mb_id = '{$mb_id}',
+ ch_name = '{$name}',
+ ch_hp = '{$hp}',
+ ch_birth = '{$birth}',
+ ch_type = '{$type}',
+ ch_datetime = '".G5_TIME_YMD." ".G5_TIME_HIS."'";
+ sql_query($sql);
+}
+
// 인증시도회수 체크
function certify_count_check($mb_id, $type)
{
@@ -2788,6 +2823,9 @@ function certify_count_check($mb_id, $type)
$row = sql_fetch($sql);
switch($type) {
+ case 'simple' :
+ $cert = '간편인증';
+ break;
case 'hp':
$cert = '휴대폰';
break;
@@ -3144,7 +3182,7 @@ function member_delete($mb_id)
}
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
- $sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_addr3 = '', mb_point = 0, mb_profile = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
+ $sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_addr3 = '', mb_point = 0, mb_profile = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."', mb_certify = '', mb_adult = 0, mb_dupinfo = '' where mb_id = '{$mb_id}' ";
sql_query($sql);
diff --git a/lib/shop.lib.php b/lib/shop.lib.php
index fc9331f6e..1d591621b 100644
--- a/lib/shop.lib.php
+++ b/lib/shop.lib.php
@@ -2035,6 +2035,10 @@ function shop_member_cert_check($id, $type)
$sql = " select ca_cert_use, ca_adult_use from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
$row = sql_fetch($sql);
+ if (($row['ca_cert_use'] || $row['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
+ goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
+ }
+
// 본인확인체크
if($row['ca_cert_use'] && !$member['mb_certify']) {
if($member['mb_id'])
@@ -2065,6 +2069,11 @@ function shop_member_cert_check($id, $type)
$sql = " select * from {$g5['g5_shop_category_table']} where ca_id = '$id' ";
$ca = sql_fetch($sql);
+ if (($ca['ca_cert_use'] || $ca['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
+ goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
+
+ }
+
// 본인확인체크
if($ca['ca_cert_use'] && !$member['mb_certify']) {
if($member['mb_id'])
diff --git a/mobile/skin/board/basic/style.css b/mobile/skin/board/basic/style.css
index 6d548bfe0..4b0967cf4 100644
--- a/mobile/skin/board/basic/style.css
+++ b/mobile/skin/board/basic/style.css
@@ -2,31 +2,8 @@
/* ### 기본 스타일 커스터마이징 시작 ### */
-/* 게시판 버튼 */
-/* 목록 버튼 */
-#bo_list a.btn_b01 {}
-#bo_list a.btn_b01:focus, #bo_list .btn_b01:hover {}
-#bo_list a.btn_b02 {}
-#bo_list a.btn_b02:focus, #bo_list .btn_b02:hover {}
-#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
-#bo_list a.btn_admin:focus, #bo_list a.btn_admin:hover {}
.chk_all {margin:10px 0}
-/* 읽기 버튼 */
-#bo_v a.btn_b01 {}
-#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
-#bo_v a.btn_b02 {}
-#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
-#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
-#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
-
-/* 쓰기 버튼 */
-#bo_w .btn_confirm {} /* 서식단계 진행 */
-#bo_w .btn_submit {}
-#bo_w .btn_cancel {}
-#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
-
-
/* 게시판 목록 */
#bo_list .td_chk {width:30px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
diff --git a/mobile/skin/member/basic/login.skin.php b/mobile/skin/member/basic/login.skin.php
index 8fa843fa6..a53a15af2 100644
--- a/mobile/skin/member/basic/login.skin.php
+++ b/mobile/skin/member/basic/login.skin.php
@@ -32,7 +32,7 @@ add_stylesheet('',
diff --git a/mobile/skin/member/basic/member_cert_refresh.skin.php b/mobile/skin/member/basic/member_cert_refresh.skin.php
new file mode 100644
index 000000000..162eb7b7b
--- /dev/null
+++ b/mobile/skin/member/basic/member_cert_refresh.skin.php
@@ -0,0 +1,152 @@
+', 0);
+if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
+ add_javascript('', 0);
+?>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/skin/member/basic/password_lost.skin.php b/mobile/skin/member/basic/password_lost.skin.php
index 10ccb24a8..e9e40bcd8 100644
--- a/mobile/skin/member/basic/password_lost.skin.php
+++ b/mobile/skin/member/basic/password_lost.skin.php
@@ -3,44 +3,116 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('', 0);
-?>
+
+if($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
+
+
-
- 아이디 / 비밀번호 찾기
+
+
+
+
+
+
+
+
+
+
+ 본인인증으로 찾기
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 000000000..ecab6a228
--- /dev/null
+++ b/mobile/skin/member/basic/password_reset.skin.php
@@ -0,0 +1,38 @@
+', 0);
+?>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/skin/member/basic/register.skin.php b/mobile/skin/member/basic/register.skin.php
index 7f2c508ec..5fb762a94 100644
--- a/mobile/skin/member/basic/register.skin.php
+++ b/mobile/skin/member/basic/register.skin.php
@@ -14,7 +14,7 @@ add_stylesheet('',
|