File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page import="itn.com.cmm.LoginVO" %>
<!-- 암화화 순서에 유의 -->
<link rel="stylesheet" href="/publish/css/mem.css">
<script src="/publish/js/content.js"></script>
<script type="text/javascript" src="/js/RSA/rsa.js"></script>
<script type="text/javascript" src="/js/RSA/jsbn.js"></script>
<script type="text/javascript" src="/js/RSA/prng4.js"></script>
<script type="text/javascript" src="/js/RSA/rng.js"></script>
<script src="/publish/js/jquery-3.5.0.js"></script>
<script type="text/javascript">
$(document).ready(function (){
if(${!empty message}){
alert("${message}");
}
//웹헤더에서 보안로그인으로 인해 페이지 접근 시
getid(document.loginForm2);
<c:if test="${headerLoginResult ne 'N'}">
headerLoginResult("<c:out value='${headerLoginResult}'/>");
</c:if>
});
function press(event) { if (event.keyCode == 13) actionLoginPage(); }
function actionLoginPage() {
// 아이디 공백 제거
document.loginForm2.id_text2.value = $.trim(document.loginForm2.id_text2.value);
if (document.loginForm2.id_text2.value =="") {
alert("아이디를 입력하세요");
return;
} else if (document.loginForm2.password_text2.value =="") {
alert("비밀번호를 입력하세요");
return;
} else {
actionLogin();
}
}
function actionLogin(){
// 로그인 START
var rsa = new RSAKey();
rsa.setPublic($('#RSAModulus2').val(),$('#RSAExponent2').val());
var id = $("#id_text2");
var pw = $("#password_text2");
document.loginForm2.id.value = rsa.encrypt(id.val().toLowerCase());
document.loginForm2.password.value = rsa.encrypt(pw.val());
var checkForm = $("form[name=loginForm2]").serialize() ;
$.ajax({
type : "POST",
async : false,
url : "/web/user/login/actionSecurityLoginBeforeHpAjax.do",
data : checkForm,
dataType:'json',
success : function(data) {
if (data.status=="success"){
document.loginForm2.passFlag.value = data.passFlag;
if(data.passFlag == "Y")
{
actionLogin_end();
}
else
{
//번호인증팝업 띄우기
$("#input_list_item_1").hide();
$("#input_list_item_2").hide();
$("#input_list_item_3").hide();
$("#input_list_item_0").hide();
$("#input_list_item_4").show();
$("#input_list_item_5").show();
$("#input_list_item_6").show();
var $select = $('#hp_text2');
data.mberCertPhoneList.forEach(function(item) {
$select.append($('<option>', {
value: item.mbtlnum, // option의 value 값
text: item.mbtlnum+'('+item.certAlias+')' // option의 화면에 보이는 텍스트
}));
});
}
}else if (data.status=="fail"){
if (data.returnType == "A"){
//휴면 회원
document.loginForm2.action="<c:url value='/web/user/humanPage.do'/>";
document.loginForm2.submit();
}else if (data.returnType == "B"){
//기업회원 기업정보 기입
document.cmpChangeForm.mberId.value = data.mberId;
document.cmpChangeForm.action="<c:url value='/web/user/login/membershipAttachDocBefore.do'/>";
document.cmpChangeForm.submit();
}else if (data.returnType == "C"){
//스팸문자이용제한페이지
document.cmpChangeForm.mberId.value = data.mberId;
document.cmpChangeForm.action="<c:url value='/web/user/login/loginRestrictionUse.do'/>";
document.cmpChangeForm.submit();
}else{
$("#ret_msg").show();
$("#ret_msg_info").html('<i></i>'+data.msg);
}
}
},
error : function(xhr, status, error) {
console.log("fn_click_banner_add_stat error : " + error);
console.log("fn_click_banner_add_stat xhr : " + JSON.stringify(xhr) + "\r\status : " + JSON.stringify(status) + "\r\error : " + JSON.stringify(error));
return false;
}
});
}
//아이디/휴대폰 번호 체크
function actionLogin_end(){
// 로그인 START
var rsa = new RSAKey();
rsa.setPublic($('#RSAModulus2').val(),$('#RSAExponent2').val());
var hp = $("#hp_text2").val();
var num = $("#num_text2").val();
document.loginForm2.hp.value = hp;
document.loginForm2.num.value = num;
document.loginForm2.action="<c:url value='/web/user/login/actionSecurityLoginAfterHp.do'/>";
saveid(document.loginForm2);
document.loginForm2.submit();
}
//아이디/휴대폰 번호 체크
function step1IdCheck(){
document.checkForm.callTo.value = $('#hp_text2').val();
document.checkForm.userId.value = $('#id_text2').val().toLowerCase();
if ($('#id_text2').val()==''){
alert("아이디를 입력해주세요.");
return;
}else if ($('#hp_text2').val()==''){
alert("핸드폰번호를 입력해주세요.");
return;
}
var checkForm = $("form[name=checkForm]").serialize() ;
$.ajax({
url : "<c:url value='/web/user/sendSysMsgDataAjax.do' />",
type : 'POST',
data : checkForm,
dataType:'json',
success : function(returnData, status){
if(status == "success") {
alert(returnData.message);
if(returnData.result == "success") {
timer();
}
}else{ alert("실패");return;}
},
error : function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
var time = 300; //기준시간 작성
var min = ""; //분
var sec = ""; //초
//인증번호 타이머
function timer(){
//setInterval(함수, 시간) : 주기적인 실행
var x = setInterval(function() {
//parseInt() : 정수를 반환
min = parseInt(time/60);
sec = time%60; //나머지를 계산
document.getElementById("timer").innerHTML = min + "분" + sec + "초";
time--;
//타임아웃 시
if (time < 0) {
clearInterval(x); //setInterval() 실행을 끝냄
document.getElementById("timer").innerHTML = "시간초과";
}
}, 1000);
if(time != 300){
time = 300;
clearInterval(x);
}
}
//인증번호 발송 1분마다 한번씩 보내기
function sendMsgYn(){
document.checkForm.receive.value = $('#hp_text2').val();
if ($('#hp_text2').val()==''){
alert("휴대폰 번호를 입력해주세요.");
return;
}
var checkForm = $("form[name=checkForm]").serialize() ;
$.ajax({
url : "<c:url value='/web/user/sendSysMsgSelectAjax.do' />",
type : 'POST',
data : checkForm,
dataType:'json',
success : function(returnData, status){
if(status == "success") {
if(returnData.compare){
step1IdCheck();
}else{
alert("인증번호 발송은 1분마다 가능합니다.");
return;
}
}else{ alert("실패");return;}
},
error : function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function textClear(pram){
var area = pram;
$('#'+area).val('');
}
function saveid(form) {
var expdate = new Date();
// 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨
if (form.checkId.checked)
expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일
else
expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건
setCookie("ncms_saveid", form.id_text2.value, expdate);
}
function setCookie(name, value, expires) {
document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString();
}
function getid(form){
if(getCookie("ncms_saveid") != ""){
form.checkId.checked = (form.id_text2.value = getCookie("ncms_saveid"));
}
}
function getCookie(Name) {
var search = Name + "="
if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
offset = document.cookie.indexOf(search)
if (offset != -1) { // 쿠키가 존재하면
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset)
// 쿠키 값의 마지막 위치 인덱스 번호 설정
if (end == -1)
end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
}
return "";
}
//로그인 화면 비밀번호 보기 추가
function fn_passView(obj){
var passInputType = $('#password_text2').prop("type");
if(passInputType == 'text'){
$('#password_text2').prop("type", "password");
//비밀번호 보호 이미지
$(obj).find('img').attr('src', '/publish/images/content/password_protect.png');
}else{
$('#password_text2').prop("type", "text");
//비밀번호 비보호 이미지
$(obj).find('img').attr('src', '/publish/images/content/password_protect2.png');
}
}
<c:if test="${headerLoginResult ne 'N'}">
function headerLoginResult(headerLoginResult){
//보안로그인로 왔을때
if(headerLoginResult === 'secure'){
document.loginForm2.id_text2.value = "<c:out value='${id_secure}'/>";
document.loginForm2.password_text2.value = "<c:out value='${pw_secure}'/>";
actionLoginPage();
}
//로그인 실패로 왔을때
else{
$("#ret_msg").show();
$("#ret_msg_info").html('<i></i>'+headerLoginResult);
}
}
</c:if>
</script>
<div class="inner">
<form:form id="loginForm2" name="loginForm2" method="post">
<input type="hidden" name="beforeUrl" value="<c:out value='/web/user/login/login.do'/>"/>
<input type="hidden" name="userSe" value="USR"/>
<input type="hidden" id="RSAModulus2" value="${RSAModulus}"/>
<input type="hidden" id="RSAExponent2" value="${RSAExponent}"/>
<input type="hidden" id="id" name="id">
<input type="hidden" id="password" name="password">
<input type="hidden" name="goEventPay" value="${goEventPay}"/>
<input type="hidden" id="hp" name="hp">
<input type="hidden" id="num" name="num">
<input type="hidden" id="passFlag" name="passFlag">
<div class="send_top">
<div class="mypage_content current">
<div class="heading">
<h2>로그인</h2>
</div>
<div class="mem_cont_in widthS login_wrap">
<div class="input_list">
<p class="welcome">
<span>문자온</span>에 오신것을 환영합니다.<br>
<span class="c_222 fwMd">로그인</span>해주세요.
</p>
<div class="input_list_item" id="input_list_item_1">
<div class="input_left">아이디</div>
<div class="input_right">
<label for="list_inputType1" class="label">아이디</label>
<input type="text" id="id_text2" class="list_inputType1" placeholder="아이디를 입력해주세요"
onfocus="this.placeholder=''" onblur="this.placeholder='아이디를 입력해주세요'" onkeypress="press(event);" maxlength="20">
</div>
<div class="login_del">
<button type="button" onclick="textClear('id_text2')" tabindex="-1">
<img src="/publish/images/content/login_del.png" alt="입력 삭제">
</button>
</div>
</div>
<div class="input_list_item" id="input_list_item_2">
<div class="input_left">비밀번호</div>
<div class="input_right">
<label for="list_inputType1" class="label">비밀번호 입력</label>
<input type="password" id="password_text2" class="list_inputType1" placeholder="비밀번호를 입력해주세요"
onfocus="this.placeholder=''" onblur="this.placeholder='비밀번호를 입력해주세요'" onkeypress="if(event.keyCode==13) {actionLoginPage(); return false;}">
</div>
<div class="login_del">
<!-- <i class="password_protect"></i> -->
<button type="button" onclick="fn_passView(this); return false;" tabindex="-1">
<img id="passViewImg" src="/publish/images/content/password_protect.png" alt="비밀번호 보기">
</button>
<button type="button" onclick="textClear('password_text2')" tabindex="-1">
<img src="/publish/images/content/login_del.png" alt="입력 삭제">
</button>
</div>
</div>
<c:if test="${fail}">
<div class="pass_no2" id="input_list_item_0">
<p>
<i></i>아이디 또는 비밀번호가 일치하지 않습니다.
</p>
</div>
</c:if>
<c:if test="${fail2}">
<div class="pass_no2" id="input_list_item_0">
<p>
<i></i>인증번호가 일치하지 않습니다.
</p>
</div>
</c:if>
<div class="pass_no2" style="display:none;" id="ret_msg">
<p id="ret_msg_info">
<i></i>아이디 또는 비밀번호가 일치하지 않습니다.
</p>
</div>
<div class="mem_btnWrap2" id="input_list_item_3">
<button type="button" class="mem_btn5" onclick="javascript:actionLoginPage(); return false;">로그인</button>
</div>
<div class="input_list_item" id="input_list_item_4" style="display:none;">
<div class="input_left">휴대폰번호</div>
<div class="input_right">
<label for="list_inputType1" class="label">휴대폰번호</label>
<select id="hp_text2" class="list_selType1" style="width:70%;">
</select>
</div>
<div class="login_del">
<button type="button" class="btnType btnType3" onclick="sendMsgYn();">인증번호 받기</button>
</div>
</div>
<div class="input_list_item" id="input_list_item_5" style="display:none;">
<div class="input_left">인증번호 입력</div>
<div class="input_right">
<label for="list_inputType1" class="label">인증번호 입력</label>
<input type="text" id="num_text2" class="list_inputType1" placeholder="인증번호를 입력해주세요" maxlength="6"
onfocus="this.placeholder=''" onblur="this.placeholder='인증번호를 입력해주세요'" onkeypress="if(event.keyCode==13) {return false;}">
</div>
<div class="login_del">
<!-- <i class="password_protect"></i> -->
<button type="button" onclick="textClear('num_text2')" tabindex="-1">
<img src="/publish/images/content/login_del.png" alt="입력 삭제">
</button>
</div>
</div>
<div class="mem_btnWrap2" id="input_list_item_6" style="display:none;">
<button type="button" class="mem_btn5" onclick="javascript:actionLogin_end(); return false;">확인</button>
</div>
<div class="lgoin_bottom clearfix">
<div>
<div class="checkbox_wrap">
<input type="checkbox" id="save_id" name="checkId" title="아이디 저장" class="joinCheckbox type3">
<label for="save_id">아이디 저장</label>
</div>
</div>
<ul>
<li><a href="/web/user/login/selectUserDept.do">회원가입</a></li>
<li class="SortLine"><a href="/web/user/findUserId.do">아이디찾기</a></li>
<li class="SortLine"><a href="/web/user/rePassword.do">비밀번호찾기</a></li>
</ul>
</div>
<ul class="adv_list">
</ul>
</div>
</div>
<!--// 비밀번호 확인 -->
</div>
</div>
<!--// 마이페이지 - 회원정보 변경 -->
</form:form>
<form name="checkForm" id="checkForm" method="post" action="#">
<input type="hidden" name="searchNm" value=""/>
<input type="hidden" name="userId" value=""/>
<input type="hidden" name="callTo" value=""/>
<input type="hidden" name="receive" value=""/>
</form>
<form name="cmpChangeForm" id="cmpChangeForm" method="post" action="#">
<input type="hidden" name="mberId" value=""/>
</form>
</div>