This commit is contained in:
2018-01-09 19:54:49 +09:00
commit 7b3201548a
518 changed files with 174188 additions and 0 deletions
+114
View File
@@ -0,0 +1,114 @@
function Login_Import() {
ImportAction(HOME+I+LOGIN+W+FINDPW+W+ACTION);
ImportAction(HOME+I+LOGIN+W+JOIN+W+ACTION);
LoginFindpw_Import();
LoginJoin_Import();
}
function Login_Init() {
LoginFindpw_Init();
LoginJoin_Init();
$(".Login_Bbs").click(function() { window.open('/bbs'); });
$(".Login_Free").click(function() { window.open('/bbs/bbs/board.php?bo_table=0free'); });
$(".Login_News").click(function() { window.open('/bbs/bbs/board.php?bo_table=1news'); });
$(".Login_Reference").click(function() { window.open('/bbs/bbs/board.php?bo_table=2reference'); });
$(".Login_Patch").click(function() { window.open('/bbs/bbs/board.php?bo_table=3patch'); });
$(".Login_Donation").click(function() { window.open('/bbs/bbs/board.php?bo_table=4donation'); });
$(".Login_Tutorial").click(function() { window.open('../i_other/help.php'); });
$(".Login_Emperior").click(function() { window.open('../che/a_emperior.php'); });
$(".Login_Traffic").click(function() { window.open('../che/a_traffic.php'); });
$("#Login_00010007").focus(Login_DefaultConMsg);
$("#Login_00010008").click(Login_Findpw);
$("#Login_00010009").click(Login_Join);
$("#Login_00010010").click(Login_Login);
$("#Login_00010013").click(function() { window.open('../i_other/help.php'); });
$("#Login_00010014").click(function() { window.open('../i_other/screenshot.php'); });
$("#Login_00010003").keypress(Login_Enter);
$("#Login_00010005").keypress(Login_Enter);
$("#Login_00010007").keypress(Login_Enter);
}
function Login_Enter(e) {
if(e.keyCode == 13) {
Login_Login();
}
}
function Login_Update() {
$("#Login_00010003").val("");
$("#Login_00010005").val("");
$("#Login_00010007").val("");
$("#Login_00010003").focus();
}
function Login_DefaultConMsg() {
$("#Login_00010007").val("자택");
}
function Login_Login() {
var id = $("#Login_00010003").val();
var pw = $("#Login_00010005").val();
var token = $("#token_login").val();
var conmsg = $("#Login_00010007").val();
if(id.length == 0) {
Popup_Alert("ID를 입력해주세요!", function() {
$("#Login_00010003").focus();
});
return;
}
if(pw.length == 0) {
Popup_Alert("PW를 입력해주세요!", function() {
$("#Login_00010005").focus();
});
return;
}
if(conmsg.length == 0) {
Popup_Alert("접속장소를 입력해주세요!", function() {
$("#Login_00010007").focus();
});
return;
}
pw = hex_md5(pw+""+pw)+""+hex_md5(token);
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+POST, {
id: id,
pw: pw,
conmsg: conmsg
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Popup_WaitHide();
ReplaceFrame(HOME);
} else {
Popup_WaitShow(response.msg, function() {
$("#Login_00010010").focus();
});
}
}
)
});
}
function Login_Findpw() {
$("#Login_00").hide();
$("#LoginFindpw_00").show();
LoginFindpw_Update();
}
function Login_Join() {
$("#Login_00").hide();
$("#LoginJoin_00").show();
LoginJoin_Update();
}
+95
View File
@@ -0,0 +1,95 @@
<?
require_once('_common.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
$rs = $DB->Select('REG, LOGIN', 'SYSTEM', "NO='1'");
$system = $DB->Get($rs);
?>
<? include(FINDPW.W.FRAME); ?>
<? include(JOIN.W.FRAME); ?>
<div id="Login_00">
<div id="Login_0000">심의</div>
<? $banner_id = 'none'; ?>
<div id="Login_0002">
<? include(ROOT.W.'i_banner/banner.php'); ?>
</div>
<div id="Login_0003">
<? include(ROOT.W.'i_banner/banner.php'); ?>
</div>
<div class="Login_TopBottomButtons">
<input type="button" value="게시판메인" class="Login_TopBottomButton Login_Bbs">
<input type="button" value="삼모게시판" class="Login_TopBottomButton Login_Free">
<input type="button" value="삼국일보" class="Login_TopBottomButton Login_News">
<input type="button" value="레퍼런스" class="Login_TopBottomButton Login_Reference">
<input type="button" value="패치게시판" class="Login_TopBottomButton Login_Patch">
<input type="button" value="참여게시판" class="Login_TopBottomButton Login_Donation">
<input type="button" value="튜토리얼" class="Login_TopBottomButton Login_Tutorial">
<input type="button" value="왕조일람" class="Login_TopBottomButton Login_Emperior")>
<input type="button" value="접속량정보" class="Login_TopBottomButton Login_Traffic">
</div>
<div id="Login_0001" style="background-image: url('<?=IMAGES.W.'back7.jpg';?>');">
<div id="Login_000100" class="bg0">
<div id="Login_00010000" class="bg1">삼모전 유기체서버</div>
<div id="Login_00010001" class="bg1">통합관리</div>
<div id="Login_00010002">ID&nbsp;</div>
<input id="Login_00010003" type="text" maxlength="12">
<div id="Login_00010004">PW&nbsp;</div>
<input id="Login_00010005" type="password" maxlength="12">
<input id="token_login" type="hidden" value="<?=md5(rand()%100000000);?>">
<div id="Login_00010006">접속장소&nbsp;</div>
<input id="Login_00010007" type="text" maxlength="35">
<input id="Login_00010008" type="button" value="비번&#13;찾기">
<?
if($system['REG'] == 'Y') {
echo '
<input id="Login_00010009" type="button" value="회원&#13;가입">
';
} else {
echo '
<input id="Login_00010009" type="button" value="가입&#13;금지중" disabled>
';
}
?>
<?
if($system['LOGIN'] == 'Y') {
echo '
<input id="Login_00010010" type="button" value="로그인">
';
} else {
echo '
<input id="Login_00010010" type="button" value="로그인&#13;금지중">
';
}
?>
<div id="Login_00010011" class="Login_Alert">
<b><pre>접속장소 예문 : 형/동생, 삼모대학 컴퓨터실
원칙적으로 1IP/1인이며 예외가 필요한 경우
접속장소를 상세히 적어주셔야 합니다.
(제대로 입력 안할시 블럭될 수 있습니다)</pre></b>
</div>
<div id="Login_00010012" class="bg0"><b>※체섭은 맑은고딕체를 권장합니다.</b></div>
<input id="Login_00010013" type="button" value="튜토리얼">
<input id="Login_00010014" type="button" value="스크린샷">
</div>
<div id="Login_000101" class="bg0">
<b><pre>삼국지 모의전투 유기체서버
제작자 : 유기체(jwh1807@gmail.com)</pre></b>
</div>
</div>
<div class="Login_TopBottomButtons">
<input type="button" value="게시판메인" class="Login_TopBottomButton Login_Bbs">
<input type="button" value="삼모게시판" class="Login_TopBottomButton Login_Free">
<input type="button" value="삼국일보" class="Login_TopBottomButton Login_News">
<input type="button" value="레퍼런스" class="Login_TopBottomButton Login_Reference">
<input type="button" value="패치게시판" class="Login_TopBottomButton Login_Patch">
<input type="button" value="참여게시판" class="Login_TopBottomButton Login_Donation">
<input type="button" value="튜토리얼" class="Login_TopBottomButton Login_Tutorial">
<input type="button" value="왕조일람" class="Login_TopBottomButton Login_Emperior")>
<input type="button" value="접속량정보" class="Login_TopBottomButton Login_Traffic">
</div>
</div>
+54
View File
@@ -0,0 +1,54 @@
<?
// 외부 파라미터
// $_POST['id'] : ID
// $_POST['pw'] : PW
// $_POST['conmsg'] : 접속장소
$id = $_POST['id'];
$pw = $_POST['pw'];
$conmsg = $_POST['conmsg'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_FUNC.W.'class._Session.php');
require_once(ROOT.W.F_FUNC.W.'class._String.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
$id = _String::NoSpecialCharacter($id);
$pw = substr($pw, 0, 32);
$response['result'] = 'FAIL';
_Session::TrashSession();
$SESSION = new _Session();
$rs = $DB->Select('NO, GRADE, QUIT', 'MEMBER', "ID='{$id}' AND PW='{$pw}'");
if($DB->Count($rs) == 1) {
$member = $DB->Get($rs);
if($member['QUIT'] != 'Y') {
$rs = $DB->Select('LOGIN', 'SYSTEM', "NO='1'");
$system = $DB->Get($rs);
if($system['LOGIN'] == Y || $member['GRADE'] >= 5) {
$SESSION->Login($member['NO']);
$DB->Update('MEMBER', "CONMSG='{$conmsg}', IP='{$_SERVER['REMOTE_ADDR']}'", "NO='{$member['NO']}'");
$response['result'] = 'SUCCESS';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '로그인 실패! 현재는 로그인이 금지되어있습니다.';
}
} else {
$response['result'] = 'FAIL';
$response['msg'] = '탈퇴 신청중인 계정입니다!';
}
} else {
$response['result'] = 'FAIL';
$response['msg'] = '로그인 실패! ID, PW를 확인해주세요.';
}
sleep(1);
echo json_encode($response);
?>
+136
View File
@@ -0,0 +1,136 @@
@charset "utf-8";
@import url("findpw/Style.css");
@import url("join/Style.css");
#Login_00 {
width: 1024px; height: 815px;
position: absolute; top: 0px; left: 50%;
margin-left: -512px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
}
.Login_TopBottomButtons {
width: 1024px; height: 20px;
}
.Login_TopBottomButton {
width: 113px; height: 20px;
float: left;
background-color: #225500;
font-weight: bold;
}
#Login_0000 {
width: 52px; height: 52px;
position: absolute; top: 30px; left: 10px;
border: 1px solid white;
}
#Login_0002 {
width: 160px; height: 600px;
position: absolute; top: 100px; left: -170px;
}
#Login_0003 {
width: 160px; height: 600px;
position: absolute; top: 100px; left: 1034px;
}
#Login_0001 {
width: 1024px; height: 768px;
background-color: black; background-position: center; background-repeat: no-repeat;
}
#Login_000100 {
width: 350px; height: 230px;
position: absolute; left: 337px; top: 269px;
}
#Login_00010000 {
width: 173px;
float: left;
}
#Login_00010001 {
width: 173px;
float: left;
}
#Login_00010002 {
width: 104px;
float: left;
text-align: right;
}
#Login_00010003 {
width: 92px;
float: left;
}
#Login_00010004 {
width: 50px;
float: left;
text-align: right;
}
#Login_00010005 {
width: 92px;
float: left;
}
#Login_00010006 {
width: 104px;
float: left;
text-align: right;
}
#Login_00010007 {
width: 240px;
float: left;
}
#Login_00010008 {
width: 50px; height: 50px;
float: left;
}
#Login_00010009 {
width: 100px; height: 50px;
float: left;
}
#Login_00010010 {
width: 200px; height: 50px;
float: left;
}
#Login_00010011 {
width: 348px; height: 60px;
float: left;
}
#Login_00010012 {
width: 348px; height: 20px;
float: left;
}
#Login_00010013 {
width: 150px; height: 30px;
float: left;
}
#Login_00010014 {
width: 200px; height: 30px;
float: left;
}
.Login_Alert {
text-align: right;
color: cyan;
}
#Login_000101 {
width: 280px; height: 40px;
position: absolute; left: 700px; top: 720px;
padding-top: 10px;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+297
View File
@@ -0,0 +1,297 @@
var LoginFindpw_idChecked = 0;
var LoginFindpw_pidChecked = 0;
var LoginFindpw_emailChecked = 0;
var LoginFindpw_emailVerified = 0;
function LoginFindpw_Import() {
}
function LoginFindpw_Init() {
$(".LoginFindpw_back").click(LoginFindpw_Back);
$("#LoginFindpw_000601").click(LoginFindpw_CheckId);
$("#LoginFindpw_001402").click(LoginFindpw_CheckPid);
$("#LoginFindpw_002001").click(LoginFindpw_CheckEmail);
$("#LoginFindpw_002300").click(LoginFindpw_SendCode);
$("#LoginFindpw_002302").click(LoginFindpw_VerifyCode);
$("#LoginFindpw_000600").keydown(LoginFindpw_InvalidateId);
$("#LoginFindpw_001400").keydown(LoginFindpw_InvalidatePid);
$("#LoginFindpw_001401").keydown(LoginFindpw_InvalidatePid);
$("#LoginFindpw_002000").keydown(LoginFindpw_InvalidateEmail);
$("#LoginFindpw_002800").click(function() { LoginFindpw_Findpw(); });
$("#LoginFindpw_002900").click(function() { LoginFindpw_Update(); });
}
function LoginFindpw_Update() {
LoginFindpw_UpdateRegisteredCount();
$("#LoginFindpw_000600").val("");
$("#LoginFindpw_001400").val("");
$("#LoginFindpw_001401").val("");
$("#LoginFindpw_002000").val("");
$("#LoginFindpw_002301").val("");
LoginFindpw_InvalidateId();
LoginFindpw_InvalidatePid();
LoginFindpw_InvalidateEmail();
LoginFindpw_InvalidateCode();
$("#LoginFindpw_000600").focus();
}
function LoginFindpw_UpdateRegisteredCount() {
GetJSON(
HOME+I+LOGIN+W+FINDPW+W+GET, { },
function(response, textStatus) {
if(response.result == "SUCCESS") {
$("#LoginFindpw_000100").text(response.registeredCount);
}
}
);
}
function LoginFindpw_Back() {
$("#LoginFindpw_00").hide();
$("#Login_00").show();
Login_Update();
}
function LoginFindpw_InvalidateId() {
LoginFindpw_EnableCheckId();
}
function LoginFindpw_InvalidatePid() {
LoginFindpw_EnableCheckPid();
}
function LoginFindpw_InvalidateEmail() {
LoginFindpw_EnableCheckEmail();
LoginFindpw_InvalidateCode();
}
function LoginFindpw_InvalidateCode() {
LoginFindpw_DisableSendCode(0);
LoginFindpw_DisableVerifyCode(0);
LoginFindpw_emailVerified = 0;
}
function LoginFindpw_CheckId() {
LoginFindpw_Check(0);
}
function LoginFindpw_CheckPid() {
LoginFindpw_Check(1);
}
function LoginFindpw_CheckEmail() {
LoginFindpw_Check(2);
}
function LoginFindpw_SendCode() {
var email = $("#LoginFindpw_002000").val();
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+FINDPW+W+"sendCode"+POST, {
email: email
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
LoginFindpw_DisableSendCode(1);
LoginFindpw_EnableVerifyCode();
$("#LoginFindpw_002301").val("");
$("#LoginFindpw_002301").focus();
} else {
}
})
}
)
});
}
function LoginFindpw_VerifyCode() {
var email = $("#LoginFindpw_002000").val();
var code = $("#LoginFindpw_002301").val();
if(code.length < 6) {
Popup_Alert("인증코드는 6자리입니다!", function() {
$("#LoginFindpw_002301").val("");
$("#LoginFindpw_002301").focus();
});
return false;
} else if(code.length == 6) {
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+FINDPW+W+"verifyCode"+POST, {
email: email,
code: code
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
LoginFindpw_DisableVerifyCode(1);
LoginFindpw_emailVerified = 1;
} else {
$("#LoginFindpw_002301").val("");
$("#LoginFindpw_002301").focus();
}
})
}
)
});
}
}
function LoginFindpw_Check(type) {
var id = $("#LoginFindpw_000600").val();
var pid1 = $("#LoginFindpw_001400").val();
var pid2 = $("#LoginFindpw_001401").val();
var email = $("#LoginFindpw_002000").val();
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+FINDPW+W+"check"+POST, {
type: type,
id: id,
pid1: pid1,
pid2: pid2,
email: email
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
switch(response.type) {
case "0":
LoginFindpw_DisableCheckId();
break;
case "1":
LoginFindpw_DisableCheckPid();
break;
case "2":
LoginFindpw_DisableCheckEmail();
LoginFindpw_EnableSendCode();
break;
}
}
})
}
)
});
}
function LoginFindpw_Findpw() {
if(LoginFindpw_FindpwTest() == false) {
return;
}
var id = $("#LoginFindpw_000600").val();
var pid1 = $("#LoginFindpw_001400").val();
var pid2 = $("#LoginFindpw_001401").val();
var email = $("#LoginFindpw_002000").val();
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+FINDPW+W+POST, {
id: id,
pid1: pid1,
pid2: pid2,
name: name,
email: email
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
LoginFindpw_Back();
} else {
LoginFindpw_Update();
}
});
}
)
});
}
function LoginFindpw_FindpwTest() {
if(LoginFindpw_idChecked + LoginFindpw_pidChecked + LoginFindpw_emailChecked + LoginFindpw_emailVerified < 4) {
Popup_Alert("4가지 확인을 해주세요!");
return false;
}
return true;
}
function LoginFindpw_EnableCheckId() {
LoginFindpw_idChecked = 0;
$("#LoginFindpw_000601").val("아이디 존재 확인");
$("#LoginFindpw_000601").removeAttr("disabled");
$("#LoginFindpw_000601").css("color", "white");
}
function LoginFindpw_DisableCheckId() {
LoginFindpw_idChecked = 1;
$("#LoginFindpw_000601").val("확인 완료");
$("#LoginFindpw_000601").attr("disabled", true);
$("#LoginFindpw_000601").css("color", "gray");
}
function LoginFindpw_EnableCheckPid() {
LoginFindpw_pidChecked = 0;
$("#LoginFindpw_001402").val("생년월일 존재 확인");
$("#LoginFindpw_001402").removeAttr("disabled");
$("#LoginFindpw_001402").css("color", "white");
}
function LoginFindpw_DisableCheckPid() {
LoginFindpw_pidChecked = 1;
$("#LoginFindpw_001402").val("확인 완료");
$("#LoginFindpw_001402").attr("disabled", true);
$("#LoginFindpw_001402").css("color", "gray");
}
function LoginFindpw_EnableCheckEmail() {
LoginFindpw_emailChecked = 0;
$("#LoginFindpw_002001").val("이메일 존재 확인");
$("#LoginFindpw_002001").removeAttr("disabled");
$("#LoginFindpw_002001").css("color", "white");
}
function LoginFindpw_DisableCheckEmail() {
LoginFindpw_emailChecked = 1;
$("#LoginFindpw_002001").val("확인 완료");
$("#LoginFindpw_002001").attr("disabled", true);
$("#LoginFindpw_002001").css("color", "gray");
}
function LoginFindpw_EnableSendCode() {
$("#LoginFindpw_002300").val("인증번호 전송");
$("#LoginFindpw_002300").removeAttr("disabled");
$("#LoginFindpw_002300").css("color", "white");
}
function LoginFindpw_DisableSendCode(type) {
if(type == 0) {
$("#LoginFindpw_002300").val("인증번호 전송");
} else {
$("#LoginFindpw_002300").val("전송 완료");
}
$("#LoginFindpw_002300").attr("disabled", true);
$("#LoginFindpw_002300").css("color", "gray");
}
function LoginFindpw_EnableVerifyCode() {
$("#LoginFindpw_002302").val("인증번호 확인");
$("#LoginFindpw_002302").removeAttr("disabled");
$("#LoginFindpw_002302").css("color", "white");
}
function LoginFindpw_DisableVerifyCode(type) {
if(type == 0) {
$("#LoginFindpw_002302").val("인증번호 확인");
} else {
$("#LoginFindpw_002302").val("확인 완료");
}
$("#LoginFindpw_002302").attr("disabled", true);
$("#LoginFindpw_002302").css("color", "gray");
}
+45
View File
@@ -0,0 +1,45 @@
<?
require_once('_common.php');
?>
<div id="LoginFindpw_00" class="bg0">
<div id="LoginFindpw_0000" class="font4">비 번 찾 기 <input class="LoginFindpw_back" type="button" value="돌아가기"></div>
<div id="LoginFindpw_0001">전체 회원 수 : <font id="LoginFindpw_000100">0</font>명</div>
<div id="LoginFindpw_0002">인증 완료되면 비번이 1111로 변경됩니다.</div>
<div id="LoginFindpw_0003" class="bg1">비번 초기화</div>
<div id="LoginFindpw_0005">ID&nbsp;</div>
<div id="LoginFindpw_0006">
<input id="LoginFindpw_000600" type="text" maxlength=12>
<input id="LoginFindpw_000601" type="button" value="아이디 존재 확인">
</div>
<div id="LoginFindpw_0013">생년월일-성별&nbsp;</div>
<div id="LoginFindpw_0014">
<input id="LoginFindpw_001400" type="text" maxlength=6>
<input id="LoginFindpw_001401" type="text" maxlength=1>
<input id="LoginFindpw_001402" type="button" value="생년월잉 확인">
</div>
<div id="LoginFindpw_0018">
인증을 위한 이메일 주소를 입력해주세요.<br>
<font class="LoginFindpw_notice">가입시 입력했던 인증메일을 수신할 주소입니다.</font><br>
<font class="LoginFindpw_alert">메일인증을 하지 않으면 비번변경이 불가능합니다.</font>
</div>
<div id="LoginFindpw_0019">이메일&nbsp;</div>
<div id="LoginFindpw_0020">
<input id="LoginFindpw_002000" type="text" maxlength=64>
<input id="LoginFindpw_002001" type="button" value="이메일 중복 확인">(64글자 이내)
</div>
<div id="LoginFindpw_0021">
인증을 위한 인증번호를 입력해주세요.<br>
<font class="LoginFindpw_notice">인증번호전송을 누르고 메일을 확인하세요.</font><br>
<font class="LoginFindpw_alert">번호를 확인하여 입력후 인증확인을 누르세요.</font>
</div>
<div id="LoginFindpw_0022">이메일 인증&nbsp;</div>
<div id="LoginFindpw_0023">
<input id="LoginFindpw_002300" type="button" value="인증번호 전송">
<input id="LoginFindpw_002301" type="text" maxlength=6>
<input id="LoginFindpw_002302" type="button" value="인증번호 확인">
</div>
<div id="LoginFindpw_0028"><input id="LoginFindpw_002800" type="button" value="비번초기화"></div>
<div id="LoginFindpw_0029"><input id="LoginFindpw_002900" type="button" value="다시 입력"></div>
<div id="LoginFindpw_0030"><input class="LoginFindpw_back" type="button" value="돌아가기"></div>
</div>
+15
View File
@@ -0,0 +1,15 @@
<?
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
$rs = $DB->Select('COUNT(*) AS CNT', 'MEMBER');
$registeredCount = $DB->Get($rs);
$response['registeredCount'] = $registeredCount['CNT'];
$response['result'] = 'SUCCESS';
sleep(1);
echo json_encode($response);
?>
+123
View File
@@ -0,0 +1,123 @@
<?
// 외부 파라미터
// $_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'];
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);
$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) {
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
$count = $DB->Count($rs);
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) {
$rs = $DB->Select('PID', 'MEMBER', "ID='{$id}' AND PID='{$pid}'");
$count = $DB->Count($rs);
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::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$rs = $DB->Select('EMAIL', 'MEMBER', "ID='{$id}' AND EMAIL='{$email}'");
$count = $DB->Count($rs);
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';
$rs = $DB->Select('VERIFIED', 'EMAIL', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count != 1) {
$response['result'] = 'FAIL';
$response['msg'] = $email.' 에 대한 인증정보가 없습니다! 운영자에게 문의해보세요!';
} else {
$res = $DB->Get($rs);
if($res['VERIFIED'] == 1) {
$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='{$id}'");
$response['result'] = 'SUCCESS';
$response['msg'] = "정상적으로 비번이 변경되었습니다. ID: {$id}";
sleep(1);
echo json_encode($response);
?>
+178
View File
@@ -0,0 +1,178 @@
@charset "utf-8";
#LoginFindpw_00 {
width: 800px; height: 851px;
position: absolute; top: 0px; left: 50%;
margin-left: -400px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
display: none;
z-index: 2;
}
#LoginFindpw_0000 {
width: 800px; height: 50px;
float: left;
}
.LoginFindpw_back {
height: 30px;
}
#LoginFindpw_0001 {
width: 800px; height: 15px;
float: left;
}
#LoginFindpw_0002 {
width: 800px; height: 30px;
float: left;
color: red; font-size: 20px; font-weight: bold;
}
#LoginFindpw_0003 {
width: 800px; height: 25px;
float: left;
font-size: 20px; font-weight: bold;
}
#LoginFindpw_0005 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginFindpw_0006 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginFindpw_000600 {
width: 100px; height: 16px;
float: left;
}
#LoginFindpw_000601 {
width: 120px; height: 20px;
float: left;
}
#LoginFindpw_0013 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginFindpw_0014 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginFindpw_001400 {
width: 100px; height: 16px;
float: left;
}
#LoginFindpw_001401 {
width: 20px; height: 16px;
float: left;
}
#LoginFindpw_001402 {
width: 120px; height: 20px;
float: left;
}
#LoginFindpw_0018 {
width: 800px; height: 50px;
float: left;
}
#LoginFindpw_0019 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginFindpw_0020 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginFindpw_002000 {
width: 100px; height: 16px;
float: left;
}
#LoginFindpw_002001 {
width: 120px; height: 20px;
float: left;
}
#LoginFindpw_0021 {
width: 800px; height: 50px;
float: left;
}
#LoginFindpw_0022 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginFindpw_0023 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginFindpw_002300 {
width: 100px; height: 20px;
float: left;
}
#LoginFindpw_002301 {
width: 50px; height: 16px;
float: left;
}
#LoginFindpw_002302 {
width: 100px; height: 20px;
float: left;
}
#LoginFindpw_0028 {
width: 398px; height: 30px;
float: left;
}
#LoginFindpw_002800 {
width: 120px; height: 30px;
}
#LoginFindpw_0029 {
width: 398px; height: 30px;
float: left;
}
#LoginFindpw_002900 {
width: 120px; height: 30px;
}
#LoginFindpw_0030 {
width: 800px; height: 30px;
float: left;
}
.LoginFindpw_notice {
color: cyan;
font-size: 15px;
font-weight: bold;
}
.LoginFindpw_alert {
color: red;
font-size: 15px;
font-weight: bold;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '../..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+85
View File
@@ -0,0 +1,85 @@
<?
// 외부 파라미터
// $_POST['type'] : 0: ID체크, 1: 주민번호 체크, 2: 이메일 체크
// $_POST['id'] : ID
// $_POST['pid1'] : 주민번호
// $_POST['pid2'] : 주민번호
// $_POST['email'] : 이메일
$type = $_POST['type'];
$id = $_POST['id'];
$pid1 = $_POST['pid1'];
$pid2 = $_POST['pid2'];
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
$email = $_POST['email'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.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);
$response['type'] = $type;
if($type == 0) {
$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) {
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
$count = $DB->Count($rs);
if($count == 1) {
$response['result'] = 'SUCCESS';
$response['msg'] = '존재하는 아이디입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '없는 아이디입니다! 운영자에게 문의해보세요!';
}
}
} elseif($type == 1) {
$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) {
$rs = $DB->Select('PID', 'MEMBER', "ID='{$id}' AND PID='{$pid}'");
$count = $DB->Count($rs);
if($count == 1) {
$response['result'] = 'SUCCESS';
$response['msg'] = '맞는 주민번호입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '아이디에 맞지 않는 주민번호입니다! 운영자에게 문의해보세요!';
}
}
} elseif($type == 2) {
$err = _Validation::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$rs = $DB->Select('EMAIL', 'MEMBER', "ID='{$id}' AND EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count == 1) {
$response['result'] = 'SUCCESS';
$response['msg'] = '맞는 이메일입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '아이디에 맞지 않는 이메일입니다! 운영자에게 문의해보세요!';
}
}
}
sleep(1);
echo json_encode($response);
?>
+49
View File
@@ -0,0 +1,49 @@
<?
// 외부 파라미터
// $_POST['email'] : 이메일
$email = $_POST['email'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.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_FUNC.W.'class._Time.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.'MAIL'.PHP);
$response['result'] = 'FAIL';
$err = _Validation::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$code = _String::Fill2(rand()%1000000, 6);
$res = $MAIL->Send($email, 'Auth code from 62che.com', "인증번호: {$code}");
if($res['result'] != 0) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일전송이 실패: '.$res['msg'];
} else {
$rs = $DB->Select('EMAIL', 'EMAIL', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count > 0) {
$DB->Delete('EMAIL', "EMAIL='{$email}'");
}
$DB->InsertArray('EMAIL', array(
EMAIL => $email,
CODE => $code,
VERIFIED=> 0,
REG_DATE=> _Time::DatetimeNow()
));
$response['result'] = 'SUCCESS';
$response['msg'] = $email.'로 인증번호가 전송되었습니다. 이메일을 확인하세요.';
}
}
//sleep(1);
echo json_encode($response);
?>
+48
View File
@@ -0,0 +1,48 @@
<?
// 외부 파라미터
// $_POST['email'] : 이메일
// $_POST['code'] : 인증번호
$email = $_POST['email'];
$code = $_POST['code'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
$response['result'] = 'FAIL';
$err = _Validation::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$rs = $DB->Select('CODE', 'EMAIL', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'FAIL';
$response['msg'] = '인증번호 전송 내역이 없습니다.';
} elseif($count == 1) {
$result = $DB->Get($rs);
if($result['CODE'] != $code) {
$response['result'] = 'FAIL';
$response['msg'] = '인증번호가 일치하지 않습니다.';
} else {
$DB->UpdateArray('EMAIL', array(
VERIFIED=> 1,
VRF_DATE=> _Time::DatetimeNow()
), "EMAIL='{$email}'");
$response['result'] = 'SUCCESS';
$response['msg'] = '인증번호가 확인되었습니다.';
}
}
}
sleep(1);
echo json_encode($response);
?>
+356
View File
@@ -0,0 +1,356 @@
var LoginJoin_idChecked = 0;
var LoginJoin_pidChecked = 0;
var LoginJoin_nameChecked = 0;
var LoginJoin_emailChecked = 0;
var LoginJoin_emailVerified = 0;
function LoginJoin_Import() {
}
function LoginJoin_Init() {
$(".LoginJoin_back").click(LoginJoin_Back);
$("#LoginJoin_000601").click(LoginJoin_CheckId);
$("#LoginJoin_001402").click(LoginJoin_CheckPid);
$("#LoginJoin_001701").click(LoginJoin_CheckName);
$("#LoginJoin_002001").click(LoginJoin_CheckEmail);
$("#LoginJoin_002300").click(LoginJoin_SendCode);
$("#LoginJoin_002302").click(LoginJoin_VerifyCode);
$("#LoginJoin_000600").keydown(LoginJoin_InvalidateId);
$("#LoginJoin_001400").keydown(LoginJoin_InvalidatePid);
$("#LoginJoin_001401").keydown(LoginJoin_InvalidatePid);
$("#LoginJoin_001700").keydown(LoginJoin_InvalidateName);
$("#LoginJoin_002000").keydown(LoginJoin_InvalidateEmail);
$("#LoginJoin_002800").click(function() { LoginJoin_Join(); });
$("#LoginJoin_002900").click(function() { LoginJoin_Update(); });
}
function LoginJoin_Update() {
LoginJoin_UpdateRegisteredCount();
$("#LoginJoin_000600").val("");
$("#LoginJoin_000900").val("");
$("#LoginJoin_001100").val("");
$("#LoginJoin_001400").val("");
$("#LoginJoin_001401").val("");
$("#LoginJoin_001700").val("");
$("#LoginJoin_002000").val("");
$("#LoginJoin_002301").val("");
$("#LoginJoin_002700").attr("checked", false);
LoginJoin_InvalidateId();
LoginJoin_InvalidatePid();
LoginJoin_InvalidateName();
LoginJoin_InvalidateEmail();
LoginJoin_InvalidateCode();
$("#LoginJoin_000600").focus();
}
function LoginJoin_UpdateRegisteredCount() {
GetJSON(
HOME+I+LOGIN+W+JOIN+W+GET, { },
function(response, textStatus) {
if(response.result == "SUCCESS") {
$("#LoginJoin_000100").text(response.registeredCount);
}
}
);
}
function LoginJoin_Back() {
$("#LoginJoin_00").hide();
$("#Login_00").show();
Login_Update();
}
function LoginJoin_InvalidateId() {
LoginJoin_EnableCheckId();
}
function LoginJoin_InvalidatePid() {
LoginJoin_EnableCheckPid();
}
function LoginJoin_InvalidateName() {
LoginJoin_EnableCheckName();
}
function LoginJoin_InvalidateEmail() {
LoginJoin_EnableCheckEmail();
LoginJoin_InvalidateCode();
}
function LoginJoin_InvalidateCode() {
LoginJoin_DisableSendCode(0);
LoginJoin_DisableVerifyCode(0);
LoginJoin_emailVerified = 0;
}
function LoginJoin_CheckId() {
LoginJoin_Check(0);
}
function LoginJoin_CheckPid() {
LoginJoin_Check(1);
}
function LoginJoin_CheckName() {
LoginJoin_Check(2);
}
function LoginJoin_CheckEmail() {
LoginJoin_Check(3);
}
function LoginJoin_SendCode() {
var email = $("#LoginJoin_002000").val();
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+JOIN+W+"sendCode"+POST, {
email: email
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
LoginJoin_DisableSendCode(1);
LoginJoin_EnableVerifyCode();
$("#LoginJoin_002301").val("");
$("#LoginJoin_002301").focus();
} else {
}
})
}
)
});
}
function LoginJoin_VerifyCode() {
var email = $("#LoginJoin_002000").val();
var code = $("#LoginJoin_002301").val();
if(code.length < 6) {
Popup_Alert("인증코드는 6자리입니다!", function() {
$("#LoginJoin_002301").val("");
$("#LoginJoin_002301").focus();
});
return false;
} else if(code.length == 6) {
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+JOIN+W+"verifyCode"+POST, {
email: email,
code: code
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
LoginJoin_DisableVerifyCode(1);
LoginJoin_emailVerified = 1;
} else {
$("#LoginJoin_002301").val("");
$("#LoginJoin_002301").focus();
}
})
}
)
});
}
}
function LoginJoin_Check(type) {
var id = $("#LoginJoin_000600").val();
var pid1 = $("#LoginJoin_001400").val();
var pid2 = $("#LoginJoin_001401").val();
var name = $("#LoginJoin_001700").val();
var email = $("#LoginJoin_002000").val();
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+JOIN+W+"check"+POST, {
type: type,
id: id,
pid1: pid1,
pid2: pid2,
name: name,
email: email
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
switch(response.type) {
case "0":
LoginJoin_DisableCheckId();
break;
case "1":
LoginJoin_DisableCheckPid();
break;
case "2":
LoginJoin_DisableCheckName(response.name);
break;
case "3":
LoginJoin_DisableCheckEmail();
LoginJoin_EnableSendCode();
break;
}
}
})
}
)
});
}
function LoginJoin_Join() {
if(LoginJoin_JoinTest() == false) {
return;
}
var id = $("#LoginJoin_000600").val();
var pw = $("#LoginJoin_000900").val();
var token = $("#token_join").val();
var pid1 = $("#LoginJoin_001400").val();
var pid2 = $("#LoginJoin_001401").val();
var name = $("#LoginJoin_001700").val();
var email = $("#LoginJoin_002000").val();
pw = hex_md5(pw+""+pw)+""+hex_md5(token);
Popup_Wait(function() {
PostJSON(
HOME+I+LOGIN+W+JOIN+W+POST, {
id: id,
pw: pw,
pid1: pid1,
pid2: pid2,
name: name,
email: email
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
if(response.result == "SUCCESS") {
LoginJoin_Back();
} else {
LoginJoin_Update();
}
});
}
)
});
}
function LoginJoin_JoinTest() {
if($("#LoginJoin_002700").is(":checked") == false) {
Popup_Alert("주의사항을 읽으시고 동의하시는 분만 삼모전을 사용하실수 있습니다!");
return false;
}
if(LoginJoin_idChecked + LoginJoin_pidChecked + LoginJoin_nameChecked + LoginJoin_emailChecked + LoginJoin_emailVerified < 5) {
Popup_Alert("5가지 확인을 해주세요!");
return false;
}
var pw1 = $("#LoginJoin_000900").val();
var pw2 = $("#LoginJoin_001100").val();
if(pw1.length < 4 || pw1.length > 12) {
Popup_Alert("비밀번호 길이가 부적합합니다!");
return false;
}
if(pw1 != pw2) {
Popup_Alert("비밀번호가 일치하지 않습니다!");
return false;
}
return true;
}
function LoginJoin_EnableCheckId() {
LoginJoin_idChecked = 0;
$("#LoginJoin_000601").val("아이디 중복 확인");
$("#LoginJoin_000601").removeAttr("disabled");
$("#LoginJoin_000601").css("color", "white");
}
function LoginJoin_DisableCheckId() {
LoginJoin_idChecked = 1;
$("#LoginJoin_000601").val("확인 완료");
$("#LoginJoin_000601").attr("disabled", true);
$("#LoginJoin_000601").css("color", "gray");
}
function LoginJoin_EnableCheckPid() {
LoginJoin_pidChecked = 0;
$("#LoginJoin_001402").val("생년월일 확인");
$("#LoginJoin_001402").removeAttr("disabled");
$("#LoginJoin_001402").css("color", "white");
}
function LoginJoin_DisableCheckPid() {
LoginJoin_pidChecked = 1;
$("#LoginJoin_001402").val("확인 완료");
$("#LoginJoin_001402").attr("disabled", true);
$("#LoginJoin_001402").css("color", "gray");
}
function LoginJoin_EnableCheckName() {
LoginJoin_nameChecked = 0;
$("#LoginJoin_001701").val("닉네임 중복 확인");
$("#LoginJoin_001701").removeAttr("disabled");
$("#LoginJoin_001701").css("color", "white");
}
function LoginJoin_DisableCheckName(name) {
LoginJoin_nameChecked = 1;
$("#LoginJoin_001701").val("확인 완료");
$("#LoginJoin_001701").attr("disabled", true);
$("#LoginJoin_001701").css("color", "gray");
$("#LoginJoin_001700").val(name);
}
function LoginJoin_EnableCheckEmail() {
LoginJoin_emailChecked = 0;
$("#LoginJoin_002001").val("이메일 중복 확인");
$("#LoginJoin_002001").removeAttr("disabled");
$("#LoginJoin_002001").css("color", "white");
}
function LoginJoin_DisableCheckEmail() {
LoginJoin_emailChecked = 1;
$("#LoginJoin_002001").val("확인 완료");
$("#LoginJoin_002001").attr("disabled", true);
$("#LoginJoin_002001").css("color", "gray");
}
function LoginJoin_EnableSendCode() {
$("#LoginJoin_002300").val("인증번호 전송");
$("#LoginJoin_002300").removeAttr("disabled");
$("#LoginJoin_002300").css("color", "white");
}
function LoginJoin_DisableSendCode(type) {
if(type == 0) {
$("#LoginJoin_002300").val("인증번호 전송");
} else {
$("#LoginJoin_002300").val("전송 완료");
}
$("#LoginJoin_002300").attr("disabled", true);
$("#LoginJoin_002300").css("color", "gray");
}
function LoginJoin_EnableVerifyCode() {
$("#LoginJoin_002302").val("인증번호 확인");
$("#LoginJoin_002302").removeAttr("disabled");
$("#LoginJoin_002302").css("color", "white");
}
function LoginJoin_DisableVerifyCode(type) {
if(type == 0) {
$("#LoginJoin_002302").val("인증번호 확인");
} else {
$("#LoginJoin_002302").val("확인 완료");
}
$("#LoginJoin_002302").attr("disabled", true);
$("#LoginJoin_002302").css("color", "gray");
}
+92
View File
@@ -0,0 +1,92 @@
<?
require_once('_common.php');
/*
<pre>주민번호는 중복가입 방지와 허위정보 방지를 위한 용도로만 사용되며,
생년은 통계정보 등에 사용되며, <font class="LoginJoin_notice">뒷자리는 다른용도로 악용될 수 없도록 암호화됩니다.</font>
<font class="LoginJoin_notice">게임물등급위원회</font>의 정책에 따라 연령제한을 위해 주민번호 입력이 필요합니다.
주민번호 도용시 <font class="LoginJoin_alert">주민등록법 제21조 제2항 9호</font>에 따라 처벌될 수 있습니다.</pre>
*/
?>
<div id="LoginJoin_00" class="bg0">
<div id="LoginJoin_0000" class="font4">회 원 가 입 <input class="LoginJoin_back" type="button" value="돌아가기"></div>
<div id="LoginJoin_0001">전체 회원 수 : <font id="LoginJoin_000100">0</font>명</div>
<div id="LoginJoin_0002">6개월간 플레이 하지 않은 일반 계정은 삭제됩니다.</div>
<div id="LoginJoin_0003" class="bg1">계정 생성</div>
<div id="LoginJoin_0004">아이디는 4~12자의 영문소문자 숫자 또는 조합된 문자열이어야 합니다!</div>
<div id="LoginJoin_0005">ID&nbsp;</div>
<div id="LoginJoin_0006">
<input id="LoginJoin_000600" type="text" maxlength=12>
<input id="LoginJoin_000601" type="button" value="아이디 중복 확인">
</div>
<div id="LoginJoin_0007">비밀번호는 4~12자의 영문자나 숫자 또는 조합된 문자열이어야 합니다!<br>암호화되어서 운영자도 알 수 없으므로 주의해 주세요!</div>
<div id="LoginJoin_0008">비밀번호&nbsp;</div>
<div id="LoginJoin_0009"><input id="LoginJoin_000900" type="password" maxlength=12></div>
<div id="LoginJoin_0010">비밀번호 확인&nbsp;</div>
<div id="LoginJoin_0011"><input id="LoginJoin_001100" type="password" maxlength=12></div>
<input id="token_join" type="hidden" value="<?=md5(rand()%100000000);?>">
<div id="LoginJoin_0012">
<pre>생년월일과 성별은 유저 구분을 위한 보조 용도와 통계정보 등에 사용됩니다.
진짜 본인의 생년월일을 입력해주셔야, 아이디 복구나 암호 초기화시 불이익을 당하지 않습니다.
주민번호 사용 불가로 인해 <font class="LoginJoin_notice">셧다운 제도</font> 적용이 불가능하므로,
본인이 청소년이라면 스스로의 의지로 <font class="LoginJoin_notice">셧다운 제도</font>를 준수하실 것을 권고합니다.</pre>
</div>
<div id="LoginJoin_0013">생년월일-성별&nbsp;</div>
<div id="LoginJoin_0014">
<input id="LoginJoin_001400" type="text" maxlength=6>
<input id="LoginJoin_001401" type="text" maxlength=1>
<input id="LoginJoin_001402" type="button" value="생년월일 확인"> (남자: 1, 여자: 2)
</div>
<div id="LoginJoin_0015">
삼모전에서 주로 사용할 장수명을 입력해주세요.<br>
<font class="LoginJoin_notice">한번 가입하면 영구회원이므로 운영자가 알아볼 수 있는 평소 닉네임을 써주세요.</font><br>
<font class="LoginJoin_alert">일반 특수문자는 무시됩니다.</font>
</div>
<div id="LoginJoin_0016">닉네임&nbsp;</div>
<div id="LoginJoin_0017">
<input id="LoginJoin_001700" type="text" maxlength=12>
<input id="LoginJoin_001701" type="button" value="닉네임 중복 확인">(6글자 이내)
</div>
<div id="LoginJoin_0018">
인증을 위한 이메일 주소를 입력해주세요.<br>
<font class="LoginJoin_notice">가입완료를 위한 인증메일을 수신할 주소입니다.</font> <font class="LoginJoin_alert">메일인증을 하지 않으면 로그인이 불가능합니다.</font><br>
메일주소를 주의해서 입력해주세요! <font class="LoginJoin_notice">@gmail.com, @naver.com, @hanmail.net</font><br>
</div>
<div id="LoginJoin_0019">이메일&nbsp;</div>
<div id="LoginJoin_0020">
<input id="LoginJoin_002000" type="text" maxlength=64>
<input id="LoginJoin_002001" type="button" value="이메일 중복 확인">(64글자 이내)
</div>
<div id="LoginJoin_0021">
인증을 위한 인증번호를 입력해주세요.<br>
<font class="LoginJoin_notice">인증번호전송을 누르고 메일을 확인하세요.</font><br>
<font class="LoginJoin_alert">번호를 확인하여 입력후 인증확인을 누르세요.</font>
</div>
<div id="LoginJoin_0022">이메일 인증&nbsp;</div>
<div id="LoginJoin_0023">
<input id="LoginJoin_002300" type="button" value="인증번호 전송">
<input id="LoginJoin_002301" type="text" maxlength=6>
<input id="LoginJoin_002302" type="button" value="인증번호 확인">
</div>
<div id="LoginJoin_0024">필 독</div>
<div id="LoginJoin_0025">
접속을 6개월간 하지 않는 계정은 삭제됩니다.<br>
한 사람의 유저가 다수의 계정을 등록을 하는것은 <font class="LoginJoin_alert">멀티이며 엄중히 처리되니</font> 양심껏 1개만 등록하시길 바랍니다.<br>
멀티 등록이 적발될 시에는 운영자 임의대로 캐릭터를 블럭하게 됩니다. 블럭된 캐릭터는 24시간 후 삭제되면 재등록 가능합니다.<br>
계정이 삭제되는것은 아니며, 해당 서버의 캐릭터만 삭제되게 됩니다.<br>
블럭시에는 24시간후에 로그인하여 캐릭터 생성만 다시 하시면 됩니다.<br>
악의적으로 멀티를 계속 시도하는 경우는 영구ip블럭이 될 수 있습니다.<br>
멀티 검사는 관리자가 일일이 검사를 합니다.
</div>
<div id="LoginJoin_0026">
반드시 게시판의 이용 약관을 읽어보셔야 합니다.<br>
약관을 지키지 않는 유저의 경우 임의의 조치를 받으실 수 있습니다.<br>
접속장소를 적지 않는 것은 블럭해도 이의 없다는 것에 동의하는 것입니다.
</div>
<div id="LoginJoin_0027"><input id="LoginJoin_002700" type="checkbox">위의 주의사항을 모두 읽었으며 동의합니다.</div>
<div id="LoginJoin_0028"><input id="LoginJoin_002800" type="button" value="회원가입"></div>
<div id="LoginJoin_0029"><input id="LoginJoin_002900" type="button" value="다시 입력"></div>
<div id="LoginJoin_0030"><input class="LoginJoin_back" type="button" value="돌아가기"></div>
</div>
+15
View File
@@ -0,0 +1,15 @@
<?
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
$rs = $DB->Select('COUNT(*) AS CNT', 'MEMBER');
$registeredCount = $DB->Get($rs);
$response['registeredCount'] = $registeredCount['CNT'];
$response['result'] = 'SUCCESS';
sleep(1);
echo json_encode($response);
?>
+179
View File
@@ -0,0 +1,179 @@
<?
// 외부 파라미터
// $_POST['id'] : ID
// $_POST['pw'] : PW
// $_POST['pid1'] : 주민번호
// $_POST['pid2'] : 주민번호
// $_POST['name'] : 닉네임
// $_POST['email'] : 이메일
$id = $_POST['id'];
$pw = $_POST['pw'];
$pid1 = $_POST['pid1'];
$pid2 = $_POST['pid2'];
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
$name = $_POST['name'];
$email = $_POST['email'];
$pw = substr($pw, 0, 32);
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);
$name = _String::NoSpecialCharacter($name);
$rs = $DB->Select('REG', 'SYSTEM', "NO='1'");
$system = $DB->Get($rs);
if($system['REG'] != 'Y') {
$response['result'] = 'FAIL';
$response['msg'] = '현재는 가입이 금지되어있습니다!';
} else {
$response['result'] = 'SUCCESS';
}
if($response['result'] != 'SUCCESS') {
echo json_encode($response);
exit(0);
}
$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) {
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '이미 가입된 아이디입니다! 로그인을 시도해보세요!';
}
}
if($response['result'] != 'SUCCESS') {
echo json_encode($response);
exit(0);
}
$response['result'] = 'FAIL';
$err = _Validation::CheckBirth($pid1, $pid2);
//$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';
/*
$rs = $DB->Select('PID', 'MEMBER', "PID='{$pid}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '이미 가입된 주민번호입니다! 운영자에게 문의해보세요!';
}
*/
}
if($response['result'] != 'SUCCESS') {
echo json_encode($response);
exit(0);
}
$response['result'] = 'FAIL';
$err = _Validation::CheckName($name);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '닉네임이 올바르지 않습니다!';
} elseif($err == 0) {
$rs = $DB->Select('NAME', 'MEMBER', "NAME='{$name}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
} else {
$response['result'] = 'FAIL';
$response['msg'] = $name.' 은(는) 이미 존재하는 닉네임입니다! 운영자에게 문의해보세요!';
}
}
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) {
$rs = $DB->Select('EMAIL', 'MEMBER', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
} else {
$response['result'] = 'FAIL';
$response['msg'] = $email.' 은(는) 이미 존재하는 이메일입니다! 운영자에게 문의해보세요!';
}
}
if($response['result'] != 'SUCCESS') {
echo json_encode($response);
exit(0);
}
$response['result'] = 'FAIL';
$rs = $DB->Select('VERIFIED', 'EMAIL', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count != 1) {
$response['result'] = 'FAIL';
$response['msg'] = $email.' 에 대한 인증정보가 없습니다! 운영자에게 문의해보세요!';
} else {
$res = $DB->Get($rs);
if($res['VERIFIED'] == 1) {
$response['result'] = 'SUCCESS';
} else {
$response['result'] = 'FAIL';
$response['msg'] = $email.' 에 대한 인증이 되지 않았습니다! 운영자에게 문의해보세요!';
}
}
if($response['result'] != 'SUCCESS') {
echo json_encode($response);
exit(0);
}
// 멤버 등록
$DB->InsertArray('MEMBER', array(
ID => $id,
PW => $pw,
PID => $pid,
NAME => $name,
EMAIL => $email,
IP => $_SERVER['REMOTE_ADDR'],
GRADE => 1,
REG_DATE => _Time::DatetimeNow()
));
$response['result'] = 'SUCCESS';
$response['msg'] = "정상적으로 회원 가입되었습니다. ID: {$id}";
sleep(1);
echo json_encode($response);
?>
+280
View File
@@ -0,0 +1,280 @@
@charset "utf-8";
#LoginJoin_00 {
width: 800px; height: 851px;
position: absolute; top: 0px; left: 50%;
margin-left: -400px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
display: none;
z-index: 2;
}
#LoginJoin_0000 {
width: 800px; height: 50px;
float: left;
}
.LoginJoin_back {
height: 30px;
}
#LoginJoin_0001 {
width: 800px; height: 15px;
float: left;
}
#LoginJoin_0002 {
width: 800px; height: 30px;
float: left;
color: red; font-size: 20px; font-weight: bold;
}
#LoginJoin_0003 {
width: 800px; height: 25px;
float: left;
font-size: 20px; font-weight: bold;
}
#LoginJoin_0004 {
width: 800px; height: 15px;
float: left;
}
#LoginJoin_0005 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0006 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_000600 {
width: 100px; height: 16px;
float: left;
}
#LoginJoin_000601 {
width: 120px; height: 20px;
float: left;
}
#LoginJoin_0007 {
width: 800px; height: 30px;
float: left;
}
#LoginJoin_0008 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0009 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_000900 {
width: 100px; height: 16px;
float: left;
}
#LoginJoin_0010 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0011 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_001100 {
width: 100px; height: 16px;
float: left;
}
#LoginJoin_0012 {
width: 800px; height: 65px;
float: left;
}
#LoginJoin_0013 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0014 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_001400 {
width: 100px; height: 16px;
float: left;
}
#LoginJoin_001401 {
width: 20px; height: 16px;
float: left;
}
#LoginJoin_001402 {
width: 120px; height: 20px;
float: left;
}
#LoginJoin_0015 {
width: 800px; height: 50px;
float: left;
}
#LoginJoin_0016 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0017 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_001700 {
width: 100px; height: 16px;
float: left;
}
#LoginJoin_001701 {
width: 120px; height: 20px;
float: left;
}
#LoginJoin_0018 {
width: 800px; height: 50px;
float: left;
}
#LoginJoin_0019 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0020 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_002000 {
width: 100px; height: 16px;
float: left;
}
#LoginJoin_002001 {
width: 120px; height: 20px;
float: left;
}
#LoginJoin_0021 {
width: 800px; height: 50px;
float: left;
}
#LoginJoin_0022 {
width: 398px; height: 20px;
float: left;
text-align: right;
}
#LoginJoin_0023 {
width: 398px; height: 20px;
float: left;
text-align: left;
}
#LoginJoin_002300 {
width: 100px; height: 20px;
float: left;
}
#LoginJoin_002301 {
width: 50px; height: 16px;
float: left;
}
#LoginJoin_002302 {
width: 100px; height: 20px;
float: left;
}
#LoginJoin_0024 {
width: 800px; height: 35px;
float: left;
color: red; font-size: 30px; font-weight: bold;
}
#LoginJoin_0025 {
width: 800px; height: 110px;
float: left;
}
#LoginJoin_0026 {
width: 800px; height: 60px;
float: left;
color: cyan; font-size: 15px; font-weight: bold;
}
#LoginJoin_0027 {
width: 800px; height: 20px;
float: left;
}
#LoginJoin_002700 {
width: 15px; height: 15px;
}
#LoginJoin_0028 {
width: 398px; height: 30px;
float: left;
}
#LoginJoin_002800 {
width: 120px; height: 30px;
}
#LoginJoin_0029 {
width: 398px; height: 30px;
float: left;
}
#LoginJoin_002900 {
width: 120px; height: 30px;
}
#LoginJoin_0030 {
width: 800px; height: 30px;
float: left;
}
.LoginJoin_notice {
color: cyan;
font-size: 15px;
font-weight: bold;
}
.LoginJoin_alert {
color: red;
font-size: 15px;
font-weight: bold;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '../..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+119
View File
@@ -0,0 +1,119 @@
<?
// 외부 파라미터
// $_POST['type'] : 0: ID체크, 1: 주민번호 체크, 2: 닉네임 체크, 3: 이메일 체크
// $_POST['id'] : ID
// $_POST['pid1'] : 생년월일
// $_POST['pid2'] : 성별
// $_POST['name'] : 닉네임
// $_POST['email'] : 이메일
$type = $_POST['type'];
$id = $_POST['id'];
$pid1 = $_POST['pid1'];
$pid2 = $_POST['pid2'];
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
$name = $_POST['name'];
$email = $_POST['email'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.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);
$name = _String::NoSpecialCharacter($name);
$response['type'] = $type;
$rs = $DB->Select('REG', 'SYSTEM', "NO='1'");
$system = $DB->Get($rs);
if($system['REG'] != 'Y') {
$response['result'] = 'FAIL';
$response['msg'] = '현재는 가입이 금지되어있습니다!';
} else {
if($type == 0) {
$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) {
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
$response['msg'] = '사용할 수 있는 아이디입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '이미 가입된 아이디입니다! 로그인을 시도해보세요!';
}
}
} elseif($type == 1) {
$err = _Validation::CheckBirth($pid1, $pid2);
// $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';
$response['msg'] = '사용할 수 있는 생년월일입니다. ^^';
/*
$rs = $DB->Select('PID', 'MEMBER', "PID='{$pid}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
$response['msg'] = '사용할 수 있는 주민번호입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = '이미 가입된 주민번호입니다! 운영자에게 문의해보세요!';
}
*/
}
} elseif($type == 2) {
$err = _Validation::CheckName($name);
if($err >= 1) {
$response['result'] = 'FAIL';
$response['msg'] = '닉네임이 올바르지 않습니다!'." ($err)";
} elseif($err == 0) {
$rs = $DB->Select('NAME', 'MEMBER', "NAME='{$name}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
$response['name'] = $name;
$response['msg'] = $name.' 은(는) 사용할 수 있는 닉네임입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = $name.' 은(는) 이미 존재하는 닉네임입니다! 운영자에게 문의해보세요!';
}
}
} elseif($type == 3) {
$err = _Validation::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$rs = $DB->Select('EMAIL', 'MEMBER', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'SUCCESS';
$response['msg'] = $email.' 은(는) 사용할 수 있는 이메일입니다. ^^';
} else {
$response['result'] = 'FAIL';
$response['msg'] = $email.' 은(는) 이미 존재하는 이메일입니다! 운영자에게 문의해보세요!';
}
}
}
}
sleep(1);
echo json_encode($response);
?>
+49
View File
@@ -0,0 +1,49 @@
<?
// 외부 파라미터
// $_POST['email'] : 이메일
$email = $_POST['email'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.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_FUNC.W.'class._Time.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.'MAIL'.PHP);
$response['result'] = 'FAIL';
$err = _Validation::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$code = _String::Fill2(rand()%1000000, 6);
$res = $MAIL->Send($email, 'Auth code from 62che.com', "인증번호: {$code}");
if($res['result'] != 0) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일전송이 실패: '.$res['msg'];
} else {
$rs = $DB->Select('EMAIL', 'EMAIL', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count > 0) {
$DB->Delete('EMAIL', "EMAIL='{$email}'");
}
$DB->InsertArray('EMAIL', array(
EMAIL => $email,
CODE => $code,
VERIFIED=> 0,
REG_DATE=> _Time::DatetimeNow()
));
$response['result'] = 'SUCCESS';
$response['msg'] = $email.'로 인증번호가 전송되었습니다. 이메일을 확인하세요.';
}
}
//sleep(1);
echo json_encode($response);
?>
+48
View File
@@ -0,0 +1,48 @@
<?
// 외부 파라미터
// $_POST['email'] : 이메일
// $_POST['code'] : 인증번호
$email = $_POST['email'];
$code = $_POST['code'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
$response['result'] = 'FAIL';
$err = _Validation::CheckEmail($email);
if($err == 1) {
$response['result'] = 'FAIL';
$response['msg'] = '이메일이 올바르지 않습니다!';
} elseif($err == 0) {
$rs = $DB->Select('CODE', 'EMAIL', "EMAIL='{$email}'");
$count = $DB->Count($rs);
if($count == 0) {
$response['result'] = 'FAIL';
$response['msg'] = '인증번호 전송 내역이 없습니다.';
} elseif($count == 1) {
$result = $DB->Get($rs);
if($result['CODE'] != $code) {
$response['result'] = 'FAIL';
$response['msg'] = '인증번호가 일치하지 않습니다.';
} else {
$DB->UpdateArray('EMAIL', array(
VERIFIED=> 1,
VRF_DATE=> _Time::DatetimeNow()
), "EMAIL='{$email}'");
$response['result'] = 'SUCCESS';
$response['msg'] = '인증번호가 확인되었습니다.';
}
}
}
sleep(1);
echo json_encode($response);
?>
+50
View File
@@ -0,0 +1,50 @@
<?
require_once('_common.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>로그인</title>
<!-- 스타일 -->
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.F_CONFIG.W.CONFIG.CSS;?>>
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.F_CONFIG.W.APP.CSS;?>>
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.I.POPUP.W.STYLE;?>>
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.I.LOGIN.W.STYLE;?>>
<!-- 액션 -->
<script type="text/javascript" src=<?=ROOT.W.E_LIB.W.JQUERY;?>></script>
<script type="text/javascript" src=<?=ROOT.W.E_LIB.W.MD5;?>></script>
<script type="text/javascript" src=<?=ROOT.W.F_CONFIG.W.CONFIG.JS;?>></script>
<script type="text/javascript" src=<?=ROOT.W.F_CONFIG.W.APP.JS;?>></script>
<script type="text/javascript" src=<?=ROOT.W.F_FUNC.W.FUNC.JS;?>></script>
<script type="text/javascript" src=<?=ROOT.W.I.POPUP.W.ACTION;?>></script>
<script type="text/javascript" src=<?=ROOT.W.I.LOGIN.W.ACTION;?>></script>
<script type="text/javascript">
$(document).ready(Login);
function Login() {
ImportView("body", "<?=ROOT;?>"+W+I+POPUP+W+FRAME);
ImportView("body", FRAME);
Popup_Import();
Popup_Init();
Popup_Update();
Login_Import();
Login_Init();
Login_Update();
}
</script>
<? require('../i_banner/analytics.php'); ?>
</head>
<body <?=BLOCKBODY;?>>
</body>
</html>