'; if ($type=='email') { echo 'parent.$("#modal-pwReset").find("[name=email]").addClass("is-invalid").focus();'; echo 'parent.$("#modal-pwReset").find("[data-role=emailErrorBlock]").text("관리자 권한이 없는 계정입니다.");'; } else { echo 'parent.$("#modal-pwReset").find("[name=phone]").addClass("is-invalid").focus();'; echo 'parent.$("#modal-pwReset").find("[data-role=phoneErrorBlock]").text("관리자 권한이 없는 계정입니다.");'; } echo 'parent.$("#modal-pwReset").find("[data-act=send_code]").attr("disabled",false);'; //데스크탑 버튼 로더 숨기기 echo ''; exit(); } $verify_code = date('His'); $verify_token=genAccessToken(80); $d_regis = $date['totime']; $ip = $_SERVER['REMOTE_ADDR']; $today = substr($date['today'],0,8); $num_code=getDbRows($table['s_guestauth'],"ip='".$ip."' and left(d_regis,8)=".$today); // 코드 발급수 //인증번호 이메일 발송 if ($type=='email') { $email_from = $d['member']['join_email']?$d['member']['join_email']:$d['admin']['sysmail']; // 이메일 중복여부 검사 $isEmail = getDbRows($table['s_mbremail'],"email='".$target."'"); if (!$isEmail) { echo ''; exit(); } if (!$email_from) { getLink('','','죄송합니다. 발신 이메일 주소가 등록되지 않았습니다. 관리자에게 문의해 주세요.',''); } //이메일 인증코드 발송횟수 제한 5회 if ($num_code>4) { if ($device=='mobile') { echo ''; exit(); } else { echo ''; exit(); } } include_once $g['path_core'].'function/email.func.php'; $content = implode('',file($g['path_module'].'/admin/var/email.header.txt')); //이메일 헤더 양식 $content.= implode('',file($g['dir_module'].'doc/email/_pw.auth.txt')); //이메일 본문 양식 $content.= implode('',file($g['path_module'].'/admin/var/email.footer.txt')); // //이메일 풋터 양식 $content = str_replace('{EMAIL_MAIN}',$email_from,$content); //대표 이메일 $content = str_replace('{TEL_MAIN}',$sms_tel,$content); // 대표 전화 $content = str_replace('{SITE}',$_HS['name'],$content); //사이트명 $content = str_replace('{EMAIL}',$target,$content); //계정 이메일 $content = str_replace('{CODE}',$verify_code,$content); //인증번호 $content = str_replace('{TIME}',$d['member']['settings_keyexpire'],$content); //인증제한시간 $result = getSendMail($target,$email_from.'|'.$_HS['name'],'비밀번호 재설정 인증번호 - '.$verify_code, $content, 'HTML'); if (!$result) { getLink('reload','parent.','죄송합니다. 이메일서버가 응답하지 않아 이메일을 보내드리지 못했습니다.',''); } $_QKEY = "auth,email,phone,token,code,d_regis,ip"; $_QVAL = "0,'$target','','$verify_token','$verify_code','$d_regis','$ip'"; } if ($type=='phone') { $sms_tel = $d['member']['join_tel']?$d['member']['join_tel']:$d['admin']['sms_tel']; // 휴대폰 중복여부 검사 $isPhone = getDbRows($table['s_mbrphone'],"phone='".$target."'"); if (!$isPhone) { echo ''; exit(); } if (!$sms_tel) { getLink('','','죄송합니다. SMS발신 전화번호가 등록되지 않았습니다. 관리자에게 문의해 주세요.',''); } //본인확인 SMS 일발송 제한- 회원모듈 > 환경설정 > 회원가입설정 참조 if ($num_code>$d['member']['join_daysms']-1) { if ($device=='mobile') { echo ''; exit(); } else { echo ''; exit(); } } include_once $g['path_core'].'function/sms.func.php'; $content = implode('',file($g['dir_module'].'doc/sms/_pw.auth.txt')); // SMS메시지 양식 $content = str_replace('{SITE}',$_HS['name'],$content); //사이트명 $content = str_replace('{PHONE}',$target,$content); //계정 휴대폰 $content = str_replace('{CODE}',$verify_code,$content); //인증번호 $content = str_replace('{TIME}',$d['member']['settings_keyexpire'],$content); //인증제한시간 $result = getSendSMS($target,$sms_tel,'',$content,'sms'); if ($result != 'OK') { getLink('reload','parent.',$result,''); } $_QKEY = "auth,email,phone,token,code,d_regis,ip"; $_QVAL = "0,'','$target','$verify_token','$verify_code','$d_regis','$ip'"; } // 신규 인증코드 저장 getDbInsert($table['s_guestauth'],$_QKEY,$_QVAL); $lastuid = getDbCnt($table['s_guestauth'],'max(uid)',''); $R = getUidData($table['s_guestauth'],$lastuid); //인증 제한시간 $countdown = date("Y/m/d H:i:s",strtotime ("+".$d['member']['join_keyexpire']." minutes",strtotime($R['d_regis']))) ; if ($device=='mobile') { echo ''; } else { echo ''; } } // 인증코드 확인 if ($act=='confirm_code') { if (!$type || !$code) { getLink('','','정상적인 접근이 아닙니다.',''); } $R = getDbData($table['s_guestauth'],"code='".$code."'",'*'); if ($type=='email') { // 코드 검사 if ($code != $R['code']) { if ($device=='mobile') { echo ''; exit(); } else { echo ''; exit(); } } } if ($type=='phone') { // 코드 검사 if ($code != $R['code']) { if ($device=='mobile') { echo ''; exit(); } else { echo ''; exit(); } } } getDbUpdate($table['s_guestauth'],'auth=1','code='.$R['code']); // 인증완료상태 처리 if ($device=='mobile') { echo ''; } else { echo ''; } } //비밀번호 변경저장 if ($act=='change_pw') { if (!$pw1 || !$pw2 || !$code || !$type || !$target) getLink('reload','parent.','정상적인 접근이 아닙니다.',''); $R = getDbData($table['s_guestauth'],"code='".$code."'",'*'); if ($code != $R['code']) getLink('reload','parent.','정상적인 접근이 아닙니다.',''); if ($type=='email') $E = getDbData($table['s_mbremail'],"email='".$target."'",'mbruid'); else $E = getDbData($table['s_mbrphone'],"phone='".$target."'",'mbruid'); $M = getDbData($table['s_mbrdata'],"memberuid='".$E['mbruid']."'",'d_regis'); $new_pw = password_hash($pw1, PASSWORD_DEFAULT); getDbUpdate($table['s_mbrid'],"pw='".$new_pw."'",'uid='.$E['mbruid']); getDbUpdate($table['s_mbrdata'],"last_pw='".$date['today']."',tmpcode=''",'memberuid='.$E['mbruid']); if ($my['uid']) $_SESSION['mbr_pw'] = $new_pw; if ($device=='mobile') { echo ''; } else { echo ''; } } exit(); ?>