- DB 불러오는 방식을 기존의 set.php에서 conf.php의 getRootDB()를 이용하도록 변경 - ADODB 에 기반한 _DB 클래스 폐기 - DBS.php 폐기 - _Setting 클래스 용도 변경 - 서버 목록 정의 방식을 하나로 모음 - 로그인시 세션에 사용자 등급을 추가 - "참여"(donation) 관련 코드 전면 제거 - 서버 리셋시 부운영자 비밀번호 문제 수정 - 서버 오픈,닫힘 여부를 새 서버 목록 정의 방식에 따르도록 수정 - DBS.php가 폐기 되었으므로 서버 오픈시 기본 정보를 json으로 받아오도록 하기 위하여 기본 준비 - 기존에 남아있던 세부 서버 로그인 처리 파일을 제거(enterPost.php) - DBS.php 삭제로 전콘 변경시에도 각 서버로 json 호출을 하도록 하는 방식으로 준비 - 전콘을 수동으로 서버에 올린뒤 처리할 수 있도록 하던 legacy 코드 제거 - general 테이블에서 userlevel 컬럼을 삭제하고, 세션에 기록된 userGrade를 이용하도록 변경 - 벌점 제한을 모든 유저 공통으로 하도록 수정 - 세부 서버 리셋을 json ajax로 처리하도록 준비
115 lines
3.3 KiB
PHP
115 lines
3.3 KiB
PHP
<?php
|
|
require_once('_common.php');
|
|
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
|
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
|
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
|
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
|
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
|
|
|
// 외부 파라미터
|
|
// $_POST['id'] : ID
|
|
// $_POST['pid1'] : 주민번호
|
|
// $_POST['pid2'] : 주민번호
|
|
// $_POST['email'] : 이메일
|
|
$id = $_POST['id'];
|
|
$pid1 = $_POST['pid1'];
|
|
$pid2 = $_POST['pid2'];
|
|
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
|
|
$email = $_POST['email'];
|
|
|
|
$db = getRootDB();
|
|
|
|
$response['result'] = 'FAIL';
|
|
$err = _Validation::CheckID($id);
|
|
if($err == 2) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '영어 소문자와 숫자만 입력 가능합니다!';
|
|
} elseif($err == 1) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '4~12글자로 입력해주세요.';
|
|
} elseif($err == 0) {
|
|
$count = $db->queryFirstField('SELECT COUNT(`ID`) FROM MEMBER WHERE `ID` = %s', $id);
|
|
if($count == 1) {
|
|
$response['result'] = 'SUCCESS';
|
|
} else {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '없는 아이디입니다! 운영자에게 문의해보세요!';
|
|
}
|
|
}
|
|
|
|
if($response['result'] != 'SUCCESS') {
|
|
echo json_encode($response);
|
|
exit(0);
|
|
}
|
|
|
|
$response['result'] = 'FAIL';
|
|
$err = _Validation::CheckPID($pid1, $pid2);
|
|
if($err == 3) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '잘못된 주민번호 입니다!';
|
|
} elseif($err == 2) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '숫자가 아닙니다!';
|
|
} elseif($err == 1) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '입력이 충분치 않습니다!';
|
|
} elseif($err == 0) {
|
|
$response['result'] = 'SUCCESS';
|
|
}
|
|
|
|
if($response['result'] != 'SUCCESS') {
|
|
echo json_encode($response);
|
|
exit(0);
|
|
}
|
|
|
|
$response['result'] = 'FAIL';
|
|
$err = _Validation::CheckEmail($email);
|
|
if($err == 1) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '이메일이 올바르지 않습니다!';
|
|
} elseif($err == 0) {
|
|
$count = $db->queryFirstField('SELECT COUNT(`NO`) FROM MEMBER WHERE ID = %s AND EMAIL = %s', $id, $email);
|
|
if($count == 1) {
|
|
$response['result'] = 'SUCCESS';
|
|
} else {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = '아이디에 맞지 않는 이메일입니다! 운영자에게 문의해보세요!';
|
|
}
|
|
}
|
|
|
|
if($response['result'] != 'SUCCESS') {
|
|
echo json_encode($response);
|
|
exit(0);
|
|
}
|
|
|
|
$response['result'] = 'FAIL';
|
|
$verified = $db->queryFirstField('SELECT VERIFIED FROM EMAIL WHERE EMAIL = %s', $email);
|
|
if($verified === null) {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = $email.' 에 대한 인증정보가 없습니다! 운영자에게 문의해보세요!';
|
|
} else {
|
|
if($verified) {
|
|
$response['result'] = 'SUCCESS';
|
|
} else {
|
|
$response['result'] = 'FAIL';
|
|
$response['msg'] = $email.' 에 대한 인증이 되지 않았습니다! 운영자에게 문의해보세요!';
|
|
}
|
|
}
|
|
|
|
if($response['result'] != 'SUCCESS') {
|
|
echo json_encode($response);
|
|
exit(0);
|
|
}
|
|
|
|
// 비밀번호 변경
|
|
$pw = md5('11111111');
|
|
$db->update('MEMBER', ['PW'=>$pw], 'ID=%s', $id);
|
|
|
|
$response['result'] = 'SUCCESS';
|
|
$response['msg'] = "정상적으로 비번이 변경되었습니다. ID: {$id}";
|
|
|
|
sleep(1);
|
|
echo json_encode($response);
|
|
|
|
|