PageSourceSearch

https://ksov.org/signin

html ksov.org collected 2026-10-06 11:06:18 UTC 37,995 bytes, 904 lines download raw bytes

1
2
3 
4 
5 
6 
7 
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23    
24    
25        
26    
27
28
29
30<!DOCTYPE html>
31<!--[if IE 8]> <html lang="ko" class="ie8 no-js"> <![endif]-->
32<!--[if IE 9]> <html lang="ko" class="ie9 no-js"> <![endif]-->
33<!--[if !IE]><!-->
34<html lang="ko"></html>
35
36<!-- BEGIN HEAD -->
37<head>
38    <title>로그인</title>
39    
40
41<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
42<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
43<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
44<meta content="" name="description" />
45<meta content="" name="author" />
46<meta http-equiv="Expires" content="Mon, 06 Jan 1990 00:00:01 GMT">
47<meta http-equiv='Expires' content='-1'>
48<meta http-equiv='cache-control' content='no-cache, no-store, must-revalidate'/>
49<meta http-equiv='pragma' content='no-cache'>
50<!--<![endif]-->
51<meta name="_csrf_parameter" content="_csrf" /><meta name="_csrf_header" content="X-CSRF-TOKEN" /><meta name="_csrf" content="U7UVbPzz2Yem9DprO-w7W1feHr8IEn4qolJWwsHJ9F80GoT4N9MsCZ-R7eGLx1sICMEPOWLmM4dpIxsHm2Jh9_D5l25VfLOb" />
52
53
54
55<!-- BEGIN GLOBAL MANDATORY STYLES -->
56<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/css/font.css" rel="stylesheet" type="text/css"/>
57<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
58<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/simple-line-icons/simple-line-icons.min.css" rel="stylesheet" type="text/css" />
59<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
60<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/uniform/css/uniform.default.css" rel="stylesheet" type="text/css" />
61<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-switch/css/bootstrap-switch.min.css" rel="stylesheet" type="text/css" />
62<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.min.css" rel="stylesheet" type="text/css" />
63<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css" />
64<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/select2/css/select2.min.css" rel="stylesheet" type="text/css" />
65<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/select2/css/select2-bootstrap.min.css" rel="stylesheet" type="text/css"/>
66<link href="https://d1g6ftv4r2ccld.cloudfront.net/journal/css/toastr.css" rel="stylesheet" type="text/css"/>
67<!-- 독립적인 JSP 내에서도 jqeury 사용가능하도록 jqeury 라이브러리만 특별히 head 영역에서 로딩 -->
68
69
70<script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous" charset="utf-8"></script>
70
71
72<!-- END GLOBAL MANDATORY STYLES -->
73<style>
74    .breadcrumb li {
75        margin-left: 5px;
76    }
77
78    .page-header .page-header-top .page-logo .logo-default {
79        margin-top: 1em !important;
80    }
81    button.dt-button, div.dt-button, a.dt-button {
82        background: white none !important;
83    }
84
85    table.dataTable thead .sorting:after {
86        opacity: 0.2;
87        content: none !important;
88    }
89
90    table.dataTable thead .sorting_asc:after {
91        content: none !important;
92    }
93
94    table.dataTable thead .sorting_desc:after {
95        content: none !important;
96    }
97
98    .select2-container {
99        width:100% !important;
100    }
101
102    .cell-right {
103        vertical-align: middle !important;
104        text-align:right !important;
105    }
106    span.logo_first_small {
107        font-size:13px;
108        font-weight:400;
109        color:#0da3e2;
110        letter-spacing: 1px;
111        -webkit-font-smoothing: antialiased !important;
112        text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
113    }
114
115    span.logo_second_small {
116        font-size:13px;
117        font-weight:400;
118        color:#fff;
119        letter-spacing: 1px;
120        -webkit-font-smoothing: antialiased !important;
121        text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
122    }
123
124    .box {
125        float: left;
126        width: 100%;
127        position: relative;
128        padding: 10px;
129        margin: 0 0 35px 0;
130        background-color: #fff;
131        box-shadow: 0 0 5px rgba(0,0,0,0.3);
132        -moz-box-shadow: 0 0 5px rgba(0,0,0,0.3);
133        -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.3);
134        -ms-box-shadow: 0 0 5px rgba(0,0,0,0.3);
135        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
136        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
137        box-sizing: border-box;         /* Opera/IE 8+ */
138    }
139    .box:before {
140        bottom: -4px;
141        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
142        content: "";
143        height: 3px;
144        left: 0;
145        margin: auto;
146        position: absolute;
147        right: 0;
148        width: 98%;
149    }
150    .box:after {
151        bottom: -8px;
152        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
153        content: "";
154        height: 3px;
155        left: 0;
156        margin: auto;
157        position: absolute;
158        right: 0;
159        width: 96%;
160    }
161    .frame {
162        float: left;
163        width: 100%;
164        position: relative;
165        overflow: hidden;
166    }
167    .frame img {
168        display: block;
169        width: 100%;
170    }
171
172    .name-box {
173        position: absolute;
174        left: 0;
175        bottom: 0;
176        background-color: rgba(0,0,0,0.65);
177        width: 100%;
178        padding: 15px 0;
179    }
180    .name-box strong.name {
181        font-family: 'Signika', sans-serif;
182        font-size: 20px;
183        line-height: 20px;
184        font-weight: 700;
185        /*text-transform: uppercase;*/
186        color: #fff;
187        display: block;
188        text-align: center;
189    }
190    .box em.description {
191        font-family: 'Signika', sans-serif;
192        font-size: 14px;
193        line-height: 14px;
194        font-weight: 400;
195        color: #666;
196        display: block;
197        padding: 10px 0 5px 0;
198        text-align: center;
199        clear: both;
200    }
201    .inner-box .caption {
202        position: absolute;
203        left: 0;
204        top: 0;
205        width: 100%;
206        height: 100%;
207        padding: 10px 10px !important;
208        opacity: 0;
209        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
210        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
211        box-sizing: border-box;         /* Opera/IE 8+ */
212    }
213
214    .imeMode {
215        ime-mode: active !important;
216    }
217
218    ul#user-dropdown-menu {
219        background-color: #ffffff;
220        border: thin solid #aaaaaa !important;
221        width: auto !important;
222    }
223
224    .checkbox input[type=checkbox],
225    .checkbox-inline input[type=checkbox],
226    .radio input[type=radio],
227    .radio-inline input[type=radio] {
228        margin-left: -9px;
229        /*margin-left: -20px;*/
230    }
231
232    @media print {
233        a[href]:after {
234            content: none !important;
235        }
236    }
237
238    .margin-top-5 {
239        margin-top: 5px !important;
240    }
241
242    .margin-top-6 {
243        margin-top: 6px !important;
244    }
245
246    .membership-alert {
247        color: #e14b00 !important;
248    }
249
250    /*event-title*/
251    @media (max-width: 767px) {
252        .logo-default {
253            height:30px !important;
254        }
255        .event-title {
256            font-size:20px !important;;
257        }
258
259        .page-logo {
260            display:none !important;
261        }
262
263
264    }
265
266    .page-header .page-header-menu {
267        height:auto;
268    }
269</style>
270
271<!-- BEGIN THEME GLOBAL STYLES -->
272<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/css/components.min.css" rel="stylesheet" id="style_components" type="text/css" />
273<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/css/plugins.min.css" rel="stylesheet" type="text/css" />
274
275<link href="https://cdn.datatables.net/1.10.10/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
276
277<style>
278    a[data-toggle=collapse]:hover {
279        text-decoration: none !important;
280        color: #000000 !important;
281    }
282
283    a[data-toggle=collapse]:link {
284        text-decoration: none !important;
285        color: #000000 !important;
286    }
287
288    a[data-toggle=collapse]:visited {
289        text-decoration: none !important;
290        color: #000000 !important;
291    }
292
293    .form-control[readonly] {
294        background-color: #eceeef;
295        opacity: 1;
296    }
297
298    body#tinymce {
299        text-align: justify !important;
300    }
301</style>
302<!-- END THEME GLOBAL STYLES -->
303
304<!-- BEGIN THEME LAYOUT STYLES -->
305<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/layouts/layout3/css/layout.min.css" rel="stylesheet" type="text/css" />
306<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/layouts/layout3/css/themes/default.min.css" rel="stylesheet" type="text/css" id="style_color" />
307<link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/layouts/layout3/css/custom.min.css" rel="stylesheet" type="text/css" />
308<!-- END THEME LAYOUT STYLES -->
309<link href="https://d1g6ftv4r2ccld.cloudfront.net/society/responsive.css" rel="stylesheet" />
310
311
312
313
314
315<meta charset="UTF-8">
316<style>
317    :root {
318        --main-color1: #5886FF;
319    }
320</style>
321    <link href="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/pages/css/login-5.min.css" rel="stylesheet" type="text/css" />
322    <link href="https://d1g6ftv4r2ccld.cloudfront.net/common/css/signin.css" rel="stylesheet" type="text/css" />
323
324    <style>
325        .user-login-5 {
326            background: url("https://d1eynvj37eazsi.cloudfront.net/common/login-none2.png") center no-repeat;
327            background-size: cover;
328        }
329
330        .user-login-5 .login-container {
331            min-height: 100vh!important;
332        }
333        .user-login-5 .login-container > .login-content > .login-form input {
334            padding:0 !important;
335        }
336        @media (max-width: 480px){
337            .create-account {
338                text-align:center !important;
339            }
340
341            .buttons {
342                margin-top: 1.5em !important;
343            }
344        }
345
346        .login-container {
347            display: flex;
348            flex-direction: column;
349        }
350        .login-content {
351            flex: auto;
352            display: flex;
353            align-items: center;
354            justify-content: center;
355
356            height: 100%;
357            width: 100%;
358
359            margin: 0!important;
360            padding: 0!important;
361        }
362        .login-box {
363            width: calc(100% - 30px);
364            max-width: 460px;
365
366            padding: 15px;
367            background: rgba(255, 255, 255, 0.8);
368            box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
369
370            border-radius: 15px!important;
371        }
372
373        .login-title {
374            font-size: 3rem;
375            padding-bottom: 15px;
376            text-align: center;
377            font-weight: 700;
378            word-break: auto-phrase;
379        }
380
381        .login-title span {
382            display: block;
383            font-size: 2.2rem;
384            font-weight: 300;
385        }
386
387        .login-input {
388            display: flex;
389            column-gap: 5px;
390            border-bottom: solid 2px #5886FF;
391            align-items: center;
392        }
393
394        .login-input .login-icon {
395            color: #5886FF;
396            padding: 10px;
397        }
398
399        .login-username, .login-password, .forget-email{
400            background-color: transparent;
401            border-radius: 0;
402            border: 0;
403            margin: 0;
404        }
405
406        .btn-box {
407            padding-top: 30px;
408            display: grid;
409            row-gap: 15px;
410        }
411        .btn-box .btn {
412            width: 100%;
413            display: block;
414            color: white!important;
415            font-weight: 700;
416        }
417        .login-btn {
418            background-color: #5886FF;
419            color: white!important;
420        }
421
422        .support-box{
423            display: flex;
424            flex-wrap: wrap;
425            justify-content: center;
426            list-style: none inside none;
427            padding: 15px 0 0 0;
428            margin: 0;
429        }
430
431        .support-box li, .support-box li a{
432            color: gray;
433        }
434
435        .support-box li+li::before {
436            content: '|';
437        }
438
439        .old-system-guide {
440            padding: 15px;
441            margin-bottom: 15px;
442            background-color: rgba(88, 134, 255, 0.2);
443        }
444
445    </style>
446
447
448</head>
449<!-- END HEAD -->
450<body class="login">
451<div class="modal fade" id="ajax" role="basic" aria-hidden="true" style="min-width:600px;">
452    <div class="modal-dialog">
453        <div class="modal-content">
454            Loading...
455        </div>
456    </div>
457</div>
458<!-- BEGIN : LOGIN PAGE 5-1 -->
459<div class="user-login-5">
460
461
462    <div class="row bs-reset">
463        <div class="login-container bs-reset">
464            
465            <div class="login-content">
466                <div class="login-box">
467                    <div class="login-title">대한바이러스학회
468                        <span>회원 로그인</span>
469                    </div>
470
471                    <div class="strong old-system-guide">
472                        신규 회원가입 및 회원 인증 이후에는 <span style="color:red; font-weight:bold;">E-mail로 계정 승인을 확인하여야 회원가입이 완료</span>됩니다.
473                        
474                    </div>
475
476                    <form class="login-form"  action="https://ksov.org/j_spring_security_check" method="post">
477                        <input type="hidden" name="referUrl" value="" />
478                        <input type="hidden" class="form-control" name="societyAbbr" value="ksov" />
479                        <div id="login-form-alert-danger" class="alert alert-danger display-hide">
480                            <button class="close" data-close="alert"></button>
481                            <span>아이디와 비밀번호를 입력해 주십시오. </span>
482                        </div>
483                        <div id="spring-security-alert-danger" class="alert alert-danger display-hide">
484                            <button class="close" data-close="alert"></button>
485                            <span>아이디와 비밀번호를 다시 확인해 주십시오.</span>
486                        </div>
487                        <div id="login-failed-alert-danger" class="alert alert-danger display-hide">
488                            <button class="close" data-close="alert"></button>
489                            <span>
490                                <strong>로그인 시도 5회 이상 실패하여 계정이 잠겼습니다.</strong><br/>로그인 후, 이메일 인증 절차를 완료하면 다시 이용하실 수 있습니다.
491                            </span>
492                        </div>
493
494
495                        <div class="login-input">
496                            <div class="login-icon"><i class="fa fa-user" aria-hidden="true"></i></div>
497                            <input class="form-control form-control-solid placeholder-no-fix form-group login-username"
498                                   type="text" autocomplete="off" placeholder="이메일" id="username" name="j_username" required/>
499                        </div>
500                        <div class="login-input">
501                            <div class="login-icon"><i class="fa fa-lock" aria-hidden="true"></i></div>
502                            <input class="form-control form-control-solid placeholder-no-fix form-group login-password"
503                                   type="password" autocomplete="off" placeholder="비밀번호" name="j_password" required/>
504                        </div>
505                        <div class="btn-box">
506                            <button class="btn login-btn" type="submit">로그인</button>
507                        </div>
508                        <ul class="support-box">
509                            <li>
510                                <a href="javascript:;" id="forget-password" class="forget-password" style="">비밀번호 재설정</a>
511                            </li>
512                            <li>
513                                <a href="javascript:;" id="forget-username" class="forget-username" style="">아이디(이메일) 찾기</a>
514                            </li>
515                            
516                                <li>
517                                    <a href="https://ksov.org/pre-signup"> 회원가입</a>
518                                </li>
519                            
520                        </ul>
521                        <input type="hidden" name="_csrf" value="U7UVbPzz2Yem9DprO-w7W1feHr8IEn4qolJWwsHJ9F80GoT4N9MsCZ-R7eGLx1sICMEPOWLmM4dpIxsHm2Jh9_D5l25VfLOb"/>
522                    </form>
523
524                    <form class="forget-form" action="javascript:;" method="post" style="display: none">
525                        <h3>비밀번호 재설정</h3>
526                        <p> 회원 계정과 연동되어 있는 이메일 주소를 입력하세요. </p>
527                        <div class="form-group">
528                            <div class="login-input">
529                                <div class="login-icon"><i class="fa fa-envelope" aria-hidden="true"></i>
530                                </div>
531                                <input class="form-control placeholder-no-fix form-group forget-email" type="text" id="forgot-password-username" autocomplete="off" placeholder="Email" name="username" />
532                            </div>
533                        </div>
534                        <div class="form-group">
535                            
536                            <label class="col-md-3 control-label small">
537                                스팸방지문자
538                            </label>
539                            <div class="col-md-9">
540                                <img src="https://ksov.org/captcha/image" id="captcha-image"/>
541                                <button class="btn btn-light btn-sm" id="refresh-captcha"><i class="fas fa-sync-alt"></i> 새로고침</button>
542                                <input name="captcha" id="captcha" type="text" class="form-control" required maxlength="100"/>
543                                <span class="help-block">위 문자를 입력해 주시기 바랍니다.(대·소문자 유의)</span>
544                            </div>
545                        </div>
546                        <div class="form-actions">
547                            <button type="button" id="back-btn" class="btn grey btn-default back-btn "><i class="fa fa-arrow-circle-left"></i> 이전</button>
548                            <button type="submit" id="forgetPasswordSubmitButton" class="btn login-btn uppercase pull-right"><i class="fa fa-sign-in"></i> 제출</button>
549                        </div>
550                        <input type="hidden" name="_csrf" value="U7UVbPzz2Yem9DprO-w7W1feHr8IEn4qolJWwsHJ9F80GoT4N9MsCZ-R7eGLx1sICMEPOWLmM4dpIxsHm2Jh9_D5l25VfLOb"/>
551                    </form>
552                    <form class="forget-username-form" action="javascript:;" method="post" style="display: none">
553                        <h3>아이디(이메일) 찾기</h3>
554                        <p> 회원 계정과 연동되어 있는 이름과 휴대전화번호를 입력하세요. </p>
555                        <div class="form-group">
556                            <div class="login-input">
557                                <div class="login-icon"><i class="fa fa-user" aria-hidden="true"></i>
558                                </div>
559                                <input class="form-control placeholder-no-fix form-group forget-email" type="text" id="forgot-username-name" autocomplete="off" placeholder='이름' name="name" />
560                            </div>
561                            <div class="login-input">
562                                <div class="login-icon"><i class="fa fa-mobile-phone" aria-hidden="true" style="width:11px"></i>
563                                </div>
564                                <input class="form-control placeholder-no-fix form-group forget-email" type="text" id="forgot-username-mobile" autocomplete="off" placeholder='휴대전화' name="mobile" />
565                            </div>
566                        </div>
567                        <div class="form-actions">
568                            <button type="button" id="back-btn2" class="btn grey btn-default back-btn "><i class="fa fa-arrow-circle-left"></i> 이전</button>
569                            <button type="submit" id="forgetUsernameSubmitButton" class="btn login-btn uppercase pull-right"><i class="fa fa-sign-in"></i> 제출</button>
570                        </div>
571                        <input type="hidden" name="_csrf" value="U7UVbPzz2Yem9DprO-w7W1feHr8IEn4qolJWwsHJ9F80GoT4N9MsCZ-R7eGLx1sICMEPOWLmM4dpIxsHm2Jh9_D5l25VfLOb"/>
572                    </form>
573                </div>
574
575
576
577            </div>
578
579            <div class="login-footer">
580                <div class="row bs-reset">
581                    <div class="col-xs-4 bs-reset">
582
583                    </div>
584                    <div class="col-xs-8 bs-reset">
585
586                        <div class="dropup" style="margin-right:10%">
587                            <ul style="list-style: none; display:inline; float:right;">
588                                <li class="dropup lang-for-desktop">
589
590                                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" ><span><img src="https://d1g6ftv4r2ccld.cloudfront.net/common/images/lang/ko.png" class="img-flag" /> 한국어</span></a>
591                                    <ul class="dropdown-menu supportedLanguage" style="min-width:120px">
592                                        
593                                            <li>
594                                                <a class="countrySelect" data-language="en">
595                                                    <span><img src="https://d1g6ftv4r2ccld.cloudfront.net/common/images/lang/en.png" class="img-flag" />&nbsp;영어</span>
596                                                </a>
597                                            </li>
598                                        
599                                            <li>
600                                                <a class="countrySelect" data-language="ko">
601                                                    <span><img src="https://d1g6ftv4r2ccld.cloudfront.net/common/images/lang/ko.png" class="img-flag" />&nbsp;한국어</span>
602                                                </a>
603                                            </li>
604                                        
605                                    </ul>
606                                </li>
607                            </ul>
608                        </div>
609                    </div>
610                </div>
611            </div>
612
613        </div>
614    </div>
615</div>
616
617<!--[if lt IE 9]-->
618<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/respond.min.js"></script>
vendor: 1 bytes, line 618
618
619<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/excanvas.min.js"></script>
619
620<!--[endif]-->
621<!-- BEGIN CORE PLUGINS -->
622<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/jquery-ui/jquery-ui.min.js"></script>
vendor: 1 bytes, line 622
622
623<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 623
623
624<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/js.cookie.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 624
624
625<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 625
625
626<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 626
626
627<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/jquery.blockui.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 627
627
628<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/uniform/jquery.uniform.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 628
628
629<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/icheck/icheck.js" type="text/javascript"></script>
vendor: 1 bytes, line 629
629
630<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 630
630
631<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 631
631
632<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 632
632
633<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 633
633
634<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/scripts/datatable.js" type="text/javascript"></script>
vendor: 1 bytes, line 634
634
635<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/moment-with-locales.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 635
635
636<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootbox/bootbox.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 636
636
637<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/bootstrap-toastr/toastr.min.js"></script>
637
638
639<script type="text/javascript" src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
vendor: 1 bytes, line 639
639
640<script type="text/javascript" src="https://cdn.datatables.net/1.10.10/js/dataTables.bootstrap.min.js"></script>
640
641
642<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.js" type="text/javascript"></script>
642
643
644<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/accountingjs/accounting.min.js" type="text/javascript"></script>
644
645
646<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/select2/js/select2.full.min.js" type="text/javascript" ></script>
646
647<!-- END CORE PLUGINS -->
648
649
650<!-- BEGIN PAGE LEVEL PLUGINS -->
651<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/jquery-validation/js/jquery.validate.min.js" type="text/javascript"></script>
651
652
653<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/jquery-validation/js/additional-methods.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 653
653
654<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/select2/js/select2.full.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 654
654
655<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/plugins/backstretch/jquery.backstretch.min.js" type="text/javascript"></script>
655
656<!-- END PAGE LEVEL PLUGINS -->
657<!-- BEGIN THEME GLOBAL SCRIPTS -->
658<script src="https://d1g6ftv4r2ccld.cloudfront.net/common/vendor/metronic_assets_4.5/global/scripts/app.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 658
658
659<script src="https://d1g6ftv4r2ccld.cloudfront.net/society/js/Domestic.js" type="text/javascript"></script>
659
660
661<!-- END THEME GLOBAL SCRIPTS -->
662<!-- BEGIN PAGE LEVEL STYLES -->
663<!-- END PAGE LEVEL STYLES -->
664
665</body>
666<script>
667    var Login = function() {
668        var handleLogin = function() {
669            $('.login-form').validate({
670                errorElement: 'span', //default input error message container
671                errorClass: 'help-block', // default input error message class
672                focusInvalid: false, // do not focus the last invalid input
673                rules: {
674                    username: {
675                        required: true
676                    },
677                    password: {
678                        required: true
679                    },
680                    remember: {
681                        required: false
682                    }
683                },
684
685                messages: {
686                    username: {
687                        required: "Username is required."
688                    },
689                    password: {
690                        required: "Password is required."
691                    }
692                },
693
694                invalidHandler: function(event, validator) { //display error alert on form submit
695                    $('#login-form-alert-danger', $('.login-form')).show();
696                },
697
698                highlight: function(element) { // hightlight error inputs
699                    $(element)
700                        .closest('.form-group').addClass('has-error'); // set error class to the control group
701                },
702
703                success: function(label) {
704                    label.closest('.form-group').removeClass('has-error');
705                    label.remove();
706                },
707
708                errorPlacement: function(error, element) {
709                    error.insertAfter(element.closest('.input-icon'));
710                },
711
712                submitHandler: function(form) {
713                    let email = $(".login-username").val();
714
715                    $.get("https://ksov.org/joined-society?email=" + email, function(societyList) {
716                        if(societyList) {
717                            let msg = '<img style="width: 100%;" src="https://d1eynvj37eazsi.cloudfront.net/test/main/signin_info3.png"/>' +
718                                '<div style="padding: 15px">회원님은 동일한 이메일로 저희 플랫폼을 사용중인 [<strong>' + societyList + '</strong>]에 가입되어 있습니다.<br/>' +
719                                '동일한 계정 정보로 사용이 가능하며, <a href="mailto: ' + email + '">' + email + '</a>으로 사용을 원할 경우 <span style="color: #5886FF; font-weight: bold; font-size: 18px;">\'OK\'</span> 클릭<br/><br/>' +
720                                '새로운 이메일 가입을 원할 경우 <span style="color: #5886FF; font-weight: bold">\'회원가입\'</span> 클릭<br/><br/>' +
721                                '※ 비밀번호를 모를 경우 비밀번호 재설정에서 확인 바랍니다.' +
722                                '<div style="text-align: center; padding-top:15px"> <img style="width: 100%; max-width: 400px" src="https://d1eynvj37eazsi.cloudfront.net/test/main/signin_info2.png"/></div></div>'
723                            bootbox.alert(msg, function() {
724                                form.submit(); // form validation success, call ajax form submit
725                            });
726
727                        } else {
728                            form.submit(); // form validation success, call ajax form submit
729                        }
730                    });
731                }
732            });
733
734            $('.login-form input').keypress(function(e) {
735                if (e.which == 13) {
736                    if ($('.login-form').validate().form()) {
737
738                        let email = $(".login-username").val();
739
740                        $('.login-form').submit();
741                    }
742                    return false;
743                }
744            });
745
746            $('.forget-form input').keypress(function(e) {
747                if (e.which == 13) {
748                    if ($('.forget-form').validate().form()) {
749                        $('.forget-form').submit();
750                    }
751                    return false;
752                }
753            });
754
755            $('#forget-password').click(function(){
756                $('.login-form').hide();
757                $('.forget-form').show();
758                $('.forget-username-form').hide();
759                $('#information').hide();
760            });
761
762            $('#forget-username').click(function(){
763                $('.login-form').hide();
764                $('.forget-form').hide();
765                $('.forget-username-form').show();
766                $('#information').hide();
767            });
768
769            $('.back-btn').click(function(){
770                $('.login-form').show();
771                $('.forget-form').hide();
772                $('.forget-username-form').hide();
773                $('.old-system-guide').show();
774                $('#information').show();
775            });
776        }
777        return {
778            //main function to initiate the module
779            init: function() {
780                handleLogin();
781            }
782        };
783    }();
784
785    jQuery(document).ready(function() {
786        let token = $("meta[name='_csrf']").attr("content");
787        let header = $("meta[name='_csrf_header']").attr("content");
788        $.ajaxSetup({
789            beforeSend: function(xhr, settings) {
790                xhr.setRequestHeader(header, token)
791            }
792        });
793
794
795        Domestic.init('https://ksov.org');
796        Login.init();
797
798
799        //bootbox.alert("[서버 점검 및 업데이트 안내]\u003Cbr\/\u003E서버의 안정화, 업데이트가 진행될 예정입니다.\u003Cbr\/\u003E2022년 12월 31일 오후 10시~ 12시 사이에 서버 업데이트를 진행할 예정입니다. \u003Cbr\/\u003E업데이트 중에는 서비스 이용이 불가할 수 있습니다. \u003Cbr\/\u003E안정적인 서비스를 제공하기 위하여 \u003Cbr\/\u003E항상 최선을 다하겠습니다.\u003Cbr\/\u003E감사합니다.");
800        
801        
802        
803        
804        $('#spring-security-alert-danger', $('.login-form')).hide();
805        
806        
807
808        // init background slide images
809        $('.login-bg').backstretch([
810                "https://d1g6ftv4r2ccld.cloudfront.net/society/images/login/bg1.jpg"
811            ], {
812                fade: 1000,
813                duration: 5000
814            }
815        );
816
817        let captchaTimer = null;
818        let isAutoRefresh = false;
819
820
821        function startCaptchaTimer() {
822            if (captchaTimer) clearTimeout(captchaTimer);
823            captchaTimer = setTimeout(() => {
824                isAutoRefresh = true;
825                $("#refresh-captcha").click();
826            }, 60 * 60 * 1000); // 테스트용 1분
827        }
828
829        $("#refresh-captcha").click(function(e) {
830            e.preventDefault();
831            document.getElementById('captcha-image').src = 'https://ksov.org/captcha/image?' + Math.random();
832            $("#captcha").val('');
833
834            if (!isAutoRefresh) {
835                // 수동 클릭 시에만 타이머 다시 설정
836                startCaptchaTimer();
837            } else {
838                isAutoRefresh = false; // 자동 클릭 플래그 초기화
839            }
840        });
841
842        $('#forgetPasswordSubmitButton').click(function(event) {
843            event.preventDefault();
844
845            if (!$("#captcha").val()) {
846                bootbox.alert("스팸 방지 문자를 입력해주세요.");
847                return;
848            }
849
850            var data = $('.forget-form').serialize();
851
852            /* 캡차 */
853
854            $.post("https://ksov.org/reset-password", data, function(html) {
855                if (html) {
856                    bootbox.alert("비밀번호를 변경할 수 있는 URL을 회원님의 이메일로 전송하였습니다.", function() {
857                        location.href="https://ksov.org/signin";
858                    });
859                } else {
860                    var username = $("#forgot-password-username").val();
861                    data = decodeURIComponent(data.substring(9, data.length));
862                    bootbox.alert("[" + username + "]" + ": 잘못된 이메일 주소를 입력하셨거나 스팸방지문자가 올바르지 않습니다.");
863                }
864            });
865        });
866
867        $('#forgetUsernameSubmitButton').click(function(event) {
868            event.preventDefault();
869            var data = $('.forget-username-form').serialize();
870            $.post("https://ksov.org/find-id", data, function(html) {
871                if (html) {
872                    if(html == 'requestExceed') {
873                        bootbox.alert("요청 횟수가 초과되었습니다.");
874
875                    } else {
876                        bootbox.alert("조회하신 정보로 가입된 아이디(이메일)는 다음과 같습니다.<br/>" + html, function() {
877                            location.href="https://ksov.org/signin";
878                        });
879                    }
880
881                } else {
882                    bootbox.alert("조회하신 정보로 가입된 아이디(이메일)를 찾을 수 없습니다.");
883                }
884            });
885        });
886
887        var urlParams = new URL(location.href).searchParams;
888        var forget = urlParams.get('find');
889
890        if(forget === "forget-username"){
891            $('.login-form').hide();
892            $('.forget-form').hide();
893            $('.forget-username-form').show();
894            $('#information').hide();
895        } else if(forget === "forget-password"){
896            $('.login-form').hide();
897            $('.forget-form').show();
898            $('.forget-username-form').hide();
899            $('#information').hide();
900        }
901    });
902</script>
902
903
904</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.