login_proc.php 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <?php
  2. include $_SERVER["DOCUMENT_ROOT"].'/common/lib/comm.php';
  3. $table_name = "aap_master";
  4. $mode = trim(avoid_crack($_REQUEST["mode"]));
  5. // $cd_userid = trim(avoid_crack($_POST["cd_userid"]));
  6. $cd_dealerid = trim(avoid_crack($_POST["cd_dealerid"]));
  7. $nm_email = trim(avoid_crack($_POST["nm_email"]));
  8. $nm_pass = trim(avoid_crack($_POST["nm_pass"]));
  9. $ds_level = trim(avoid_crack($_POST["ds_level"]));
  10. $auto_login = trim(avoid_crack($_POST["auto_login"]));
  11. $nm_pass = trim(avoid_crack($_POST["nm_pass"]));
  12. $cd_pwd = trim(avoid_crack($_POST["cd_pwd"]));
  13. $nm_pass_re = trim(avoid_crack($_POST["nm_pass_re"]));
  14. switch($mode) {
  15. case "login":
  16. $RES = array('CODE'=>'9999', 'MSG'=>'');
  17. try {
  18. if(!$_POST) {
  19. throw new Exception("정상적인 접근이 아닙니다.", "9999");
  20. }
  21. if(empty($cd_dealerid)) {
  22. throw new Exception("아이디가 없습니다.", "9998");
  23. }
  24. if(empty($nm_pass)) {
  25. throw new Exception("비밀번호가 없습니다.", "9997");
  26. }
  27. //소문자만 사용
  28. $cd_dealerid = strtolower($cd_dealerid);
  29. $table_name = "aap_master a";
  30. $_whereis = " cd_dealerid = '". $cd_dealerid . "' and nm_pass = password('". $nm_pass ."') AND ds_delind='N' ";
  31. if($_SERVER['REMOTE_ADDR'] == '220.86.24.199') {
  32. // $_whereis = " cd_dealerid = '". $cd_dealerid . "' AND ds_delind='N' ";
  33. }
  34. $row = $dbCon->selectDAO("*, CONVERT(password(cd_dealerid+nm_pass+UNIX_TIMESTAMP()), CHAR) as enc_val, ifnull((select ds_status from aap_master where cd_dealer = a.cd_dealer_p), '') ds_status_p ", $table_name, $_whereis);
  35. if (!$row['cd_dealer']) {
  36. throw new Exception("로그인 정보가 정확하지 않습니다.", "9890");
  37. }
  38. if ($row['ds_status'] == 'W0') {
  39. throw new Exception("탈퇴한 아이디입니다.", "4444");
  40. }
  41. if ($row['ds_status'] == 'D0') {
  42. throw new Exception("휴면계정 아이디입니다.", "4445");
  43. }
  44. if($row['ds_status'] != "Z0") {
  45. throw new Exception("승인되지 않은 AAP 직원입니다.", "4446");
  46. }
  47. // if(empty($row['dt_lastlogin'])) {
  48. // echo "F";
  49. // exit;
  50. $sql = "UPDATE aap_master set dt_lastlogin = now(), enc_val = '{$row['enc_val']}' where cd_dealer = '".$row['cd_dealer']."'";
  51. // echo $sql;
  52. // exit;
  53. // $sql = "UPDATE dealer_master set dt_lastlogin = now() where cd_dealer = '". $row['cd_dealer'] . "'";
  54. $result = $dbCon->query($sql);
  55. $_SESSION['s_cd_dealer_type'] = 'aap';
  56. $_SESSION['s_cd_dealerid'] = $row['cd_dealerid'];
  57. $_SESSION['s_nm_email'] = $row['nm_email'];
  58. $_SESSION['s_nm_name'] = $row['nm_name'];
  59. $_SESSION['s_nm_hp'] = $row['nm_hp'];//.$row['nm_hp_02'].$row['nm_hp_03'];
  60. // $_SESSION['s_nm_hp'] = $row['nm_hp_01'].$row['nm_hp_02'].$row['nm_hp_03'];
  61. $_SESSION['s_nm_hp_form'] = $row['nm_hp_01']."-".$row['nm_hp_02']."-".$row['nm_hp_03'];
  62. // $_SESSION['s_ds_type'] = $row['ds_type']; //$ds_type -> A0:개인,B0:업체,C0:비회원,D0:딜러,D1:딜러-관리자
  63. // $_SESSION['s_ds_level'] = $row['ds_level'];
  64. $_SESSION['s_cd_dealer'] = $row['cd_dealer'];
  65. $_SESSION['s_cd_dealer_p'] = $row['cd_dealer_p'];
  66. $_SESSION['s_nm_area'] = $row['nm_area'];
  67. $_SESSION['s_aap_ds_type'] = $row['ds_type']; //$ds_type -> A0:개인,B0:업체,C0:비회원,D0:딜러,D1:딜러-관리자
  68. // $_SESSION['s_ds_area_sub']=$row[ds_area_sub];
  69. // $_SESSION['s_ds_usertype'] = $row['ds_usertype']; //$ds_usertype ds_type 상세 사용 가능 -> A0:개인,B0:업체,B1:업체1,B2:업체2,C0:비회원
  70. // $_SESSION['s_ds_company_bp1'] = $row['ds_company_bp1']; //관계사1
  71. // $_SESSION['s_ds_branch1'] = $row['ds_branch1']; //지점1
  72. // $_SESSION['s_ds_company_bp2'] = $row['ds_company_bp2']; //관계사2
  73. // $_SESSION['s_ds_branch2'] = $row['ds_branch2']; //지점2
  74. // $_SESSION['s_ds_company_bp3'] = $row['ds_company_bp3']; //관계사3
  75. // $_SESSION['s_ds_branch3'] = $row['ds_branch3']; //지점3
  76. $_SESSION['s_ds_kind'] = substr($row['ds_type'],0,1); //$s_ds_kind -> A:개인, D:딜러,딜러-관리자 예)(($row[ds_type] == "A0")?"D0":"D1");
  77. $_SESSION['s_ds_status_p'] = $row['ds_status_p']; //총괄관리자(딜러) 승인여부 : Z0-승인, 이외-미승인
  78. //자동 로그인
  79. if ($auto_login == "Y"){
  80. // setAutoLogin($row['cd_dealer'], $dbCon);
  81. }
  82. $DATAS = array();
  83. $DATAS['enc_str'] = "al_usr=".$row['cd_dealerid']."&al_val=".$row['enc_val'];
  84. $RES['CODE'] = "0000";
  85. $RES['MSG'] = "정상.";
  86. $RES['DATAS'] = $DATAS;
  87. }catch(Exception $e){
  88. $RES['CODE'] = $e->getCode();
  89. $RES['MSG'] = $e->getMessage();
  90. }
  91. echo json_encode($RES);
  92. exit;
  93. break;
  94. case "loginAuto":
  95. $table_name = "aap_master a";
  96. $cd_dealerid = trim(avoid_crack($_POST["al_usr"]));
  97. $enc_val = trim(avoid_crack($_POST["al_val"]));
  98. $_whereis = " cd_dealerid = '". $cd_dealerid . "' and enc_val = '". $enc_val ."' AND ds_delind='N' ";
  99. $row = $dbCon->selectDAO("*, ifnull((select ds_status from aap_master where cd_dealer = a.cd_dealer_p), '') ds_status_p ", $table_name, $_whereis);
  100. if (!$row['cd_dealerid']) {
  101. echo("N");
  102. exit;
  103. } else {
  104. // $sql = "UPDATE member_master set dt_lastlogin = now() where cd_user = '".$row[cd_user]."'";
  105. $sql = "UPDATE aap_master set dt_lastlogin = now() where cd_dealer = '". $row['cd_dealer'] . "'";
  106. $result = $dbCon->query($sql);
  107. $_SESSION['s_cd_dealer_type'] = 'aap';
  108. $_SESSION['s_cd_dealerid'] = $row['cd_dealerid'];
  109. $_SESSION['s_nm_email'] = $row['nm_email'];
  110. $_SESSION['s_nm_name'] = $row['nm_name'];
  111. $_SESSION['s_nm_hp'] = $row['nm_hp'];//.$row['nm_hp_02'].$row['nm_hp_03'];
  112. // $_SESSION['s_nm_hp'] = $row['nm_hp_01'].$row['nm_hp_02'].$row['nm_hp_03'];
  113. $_SESSION['s_nm_hp_form'] = $row['nm_hp_01']."-".$row['nm_hp_02']."-".$row['nm_hp_03'];
  114. // $_SESSION['s_ds_type'] = $row['ds_type']; //$ds_type -> A0:개인,B0:업체,C0:비회원,D0:딜러,D1:딜러-관리자
  115. // $_SESSION['s_ds_level'] = $row['ds_level'];
  116. $_SESSION['s_cd_dealer'] = $row['cd_dealer'];
  117. $_SESSION['s_cd_dealer_p'] = $row['cd_dealer_p'];
  118. $_SESSION['s_nm_area'] = $row['nm_area'];
  119. $_SESSION['s_aap_ds_type'] = $row['ds_type']; //$ds_type -> A0:개인,B0:업체,C0:비회원,D0:딜러,D1:딜러-관리자
  120. // $_SESSION['s_ds_area_sub']=$row[ds_area_sub];
  121. // $_SESSION['s_ds_usertype'] = $row['ds_usertype']; //$ds_usertype ds_type 상세 사용 가능 -> A0:개인,B0:업체,B1:업체1,B2:업체2,C0:비회원
  122. // $_SESSION['s_ds_company_bp1'] = $row['ds_company_bp1']; //관계사1
  123. // $_SESSION['s_ds_branch1'] = $row['ds_branch1']; //지점1
  124. // $_SESSION['s_ds_company_bp2'] = $row['ds_company_bp2']; //관계사2
  125. // $_SESSION['s_ds_branch2'] = $row['ds_branch2']; //지점2
  126. // $_SESSION['s_ds_company_bp3'] = $row['ds_company_bp3']; //관계사3
  127. // $_SESSION['s_ds_branch3'] = $row['ds_branch3']; //지점3
  128. $_SESSION['s_ds_kind']= substr($row['ds_type'],0,1); //$s_ds_kind -> A:개인, D:딜러,딜러-관리자 예)(($row[ds_type] == "A0")?"D0":"D1");
  129. $_SESSION['s_ds_status_p'] = $row['ds_status_p']; //총괄관리자(딜러) 승인여부 : Z0-승인, 이외-미승인
  130. echo("Y");
  131. exit;
  132. }
  133. break;
  134. case "chg_password":
  135. $table_name = "aap_master a";
  136. $_whereis = " cd_dealerid = '". $cd_dealerid . "' and nm_pass = password('". $nm_pass ."') ";
  137. $row = $dbCon->selectDAO("*, ifnull((select ds_status from aap_master where cd_dealer = a.cd_dealer_p), '') ds_status_p ", $table_name, $_whereis);
  138. if (!$row['cd_dealer']) {
  139. echo("N");
  140. exit;
  141. } else {
  142. // if(empty($row['dt_lastlogin'])) {
  143. $sql = "UPDATE aap_master set dt_lastlogin = now(), nm_pass= password('".$cd_pwd."'), enc_val = password(cd_dealerid+nm_pass+UNIX_TIMESTAMP()) where cd_dealer = '".$row[cd_dealer]."'";
  144. $result = $dbCon->query($sql);
  145. // echo "Y";
  146. // exit;
  147. // }else {
  148. echo "Y";
  149. exit;
  150. // }
  151. }
  152. break;
  153. case "login_aap":
  154. break;
  155. case "logout":
  156. $_SESSION['s_cd_dealer_type']=null;
  157. $_SESSION['s_cd_dealerid']=null;
  158. $_SESSION['s_nm_email']=null;
  159. $_SESSION['s_nm_name']=null;
  160. $_SESSION['s_nm_hp']=null;
  161. $_SESSION['s_nm_hp_form']=null;
  162. $_SESSION['s_ds_type']=null; //$ds_type -> A0:개인,B0:업체,C0:비회원,D0:딜러,D1:딜러-관리자
  163. $_SESSION['s_ds_level']=null;
  164. $_SESSION['s_cd_dealer']=null;
  165. $_SESSION['s_cd_dealer_p']=null;
  166. $_SESSION['s_nm_area']=null;
  167. // $_SESSION['s_ds_area_sub']=$row[ds_area_sub];
  168. $_SESSION['s_ds_usertype']=null; //$ds_usertype ds_type 상세 사용 가능 -> A0:개인,B0:업체,B1:업체1,B2:업체2,C0:비회원
  169. $_SESSION['s_ds_company_bp1']=null; //관계사1
  170. $_SESSION['s_ds_branch1']=null; //지점1
  171. $_SESSION['s_ds_company_bp2']=null; //관계사2
  172. $_SESSION['s_ds_branch2']=null; //지점2
  173. $_SESSION['s_ds_company_bp3']=null; //관계사3
  174. $_SESSION['s_ds_branch3']=null; //지점3
  175. $_SESSION['s_ds_kind']= null; //$s_ds_kind -> A:개인, D:딜러,딜러-관리자 예)(($row[ds_type] == "A0")?"D0":"D1");
  176. $_SESSION['s_ds_status_p']=null; //총괄관리자(딜러) 승인여부 : Z0-승인, 이외-미승인
  177. setcookie ('ESMotorsAAP', '', time() - 1, "/");
  178. Redirect("/aap/login.php");
  179. break;
  180. default :
  181. AlertBack("지정되지않은 요청입니다");
  182. break;
  183. }
  184. //자동 로그인
  185. //db_connect $connect 넘겨주지 않고 사용해도 되나? $connect 반환 제대로 될까?
  186. function setAutoLogin($cd_dealer,$argDbCon){
  187. $_whereis1 = " cd_user = '". $cd_user . "' ";
  188. $sql1 = " select * from aap_master where cd_dealer = '". $cd_dealer . "' ";
  189. $row = mysql_fetch_array(mysql_query($sql1));
  190. setcookie ('ESMotorsAAP', 'al_usr='.$row[cd_dealerid].'&al_val='.$row[enc_val], time() + LIMIT_TIME_AUTO_LOGIN, "/");
  191. }
  192. mysql_close($connect);
  193. ?>