001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067
<?php // (2018.4.5, 차재복, Cha Jae Bok, cjbword@gmailcom) # user_id,user_pw 입력 전달 여부 if(!isset($_POST['user_id']) || !isset($_POST['user_pw'])) exit; $user_id = substr($_POST['user_id'],0,12); // 길이 제한 $user_pw = substr($_POST['user_pw'],0,12); // 길이 제한 # db 접근 및 사용자 id/pw 확인 // 사용자 정의 상수에 의해 db 접근 변수 설정 DEFINE ('DB_HOST', 'localhost'); DEFINE ('DB_NAME', 'test'); DEFINE ('DB_USER', 'users'); DEFINE ('DB_PASSWORD', 'cjb1004'); // mysqli_ 형태의 db 서버 접속 및 db 선택 $dbi = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die ('DB에 접속할 수 없습니다! : ' . mysqli_error() ) ; // 쿼리 $result = mysqli_query($dbi,"select user_name,user_id,user_pw from editors where user_id='".mysqli_real_escape_string($dbi,$user_id)."' limit 1"); if (mysqli_errno($dbi)) { echo mysqli_errno($dbi)." : ".mysqli_error($dbi)."\n";} $members = mysqli_fetch_assoc($result); # user_id 확인 if( $members['user_id'] != $user_id ) { echo "<script> alert('아이디 또는 패스워드가 잘못되었습니다.'); history.back(); </script>"; exit; } # user_pw 확인 if( ! password_verify($user_pw,$members['user_pw']) ) { echo "<script> alert('아이디 또는 패스워드가 잘못되었습니다.'); history.back(); </script>"; exit; } # user_id,user_pw 통과되어, 세션 스타트 !!!"; // 새로이 세션 시작 session_start(); // 사용자 id,pw 기록 $_SESSION['user_id'] = $members['user_id']; $_SESSION['user_name'] = $members['user_name']; // 사용 대상 db 기록 $_SESSION['db_name'] = DB_NAME; $_SESSION['db_user'] = DB_USER; $_SESSION['db_password'] = DB_PASSWORD; // echo "<pre>";print_r($_POST);echo "</pre>"; # 원래 로그인 요청 홈페이지로 이동 if ( !empty($_POST['file']) ) { $file = $_POST['file']; $file = "../{$file}/{$file}.php"; echo "<meta http-equiv='refresh' content='0; url={$file}'>"; } else { echo "<meta http-equiv='refresh' content='0; url=../example/example.php'>"; } ?>