로그인 문제 질문드립니다.
<?</p><p>include_once("./_common.php");</p><p> </p><p>$mb_id = $_POST[mb_id];</p><p>$mb_password = $_POST[mb_password];</p><p> </p><p>if (!trim($mb_id) || !trim($mb_password))</p><p> alert("회원아이디나 패스워드가 공백이면 안됩니다.");</p><p> </p><p>/*</p><p>// 자동 스크립트를 이용한 공격에 대비하여 로그인 실패시에는 일정시간이 지난후에 다시 로그인 하도록 함</p><p>if ($check_time = get_session("ss_login_check_time")) {</p><p> if ($check_time > $g4['server_time'] - 15) {</p><p> alert("로그인 실패시에는 15초 이후에 다시 로그인 하시기 바랍니다.");</p><p> }</p><p>}</p><p>set_session("ss_login_check_time", $g4['server_time']);</p><p>*/</p><p> </p><p>$mb = get_member($mb_id);</p><p> </p><p>// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는 </p><p>// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.</p><p>// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.</p><p>if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {</p><p> alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");</p><p>}</p><p> </p><p>// 차단된 아이디인가?</p><p>if ($mb[mb_intercept_date] && $mb[mb_intercept_date] <= date("Ymd", $g4[server_time])) {</p><p> $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb[mb_intercept_date]); </p><p> alert("회원님의 아이디는 접근이 금지되어 있습니다.\\n\\n처리일 : $date");</p><p>}</p><p> </p><p>// 탈퇴한 아이디인가?</p><p>if ($mb[mb_leave_date] && $mb[mb_leave_date] <= date("Ymd", $g4[server_time])) {</p><p> $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb[mb_leave_date]); </p><p> alert("탈퇴한 아이디이므로 접근하실 수 없습니다.\\n\\n탈퇴일 : $date");</p><p>}</p><p> </p><p>if ($config[cf_use_email_certify] && !preg_match("/[1-9]/", $mb[mb_email_certify]))</p><p> alert("메일인증을 받으셔야 로그인 하실 수 있습니다.\\n\\n회원님의 메일주소는 $mb[mb_email] 입니다.");</p><p> </p><p>$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";</p><p>@include_once("$member_skin_path/login_check.skin.php");</p><p> </p><p>// 회원아이디 세션 생성</p><p>set_session('ss_mb_id', $mb[mb_id]);</p><p>// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106</p><p>set_session('ss_mb_key', md5($mb[mb_datetime] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));</p><p> </p><p>// 3.26</p><p>// 아이디 쿠키에 한달간 저장</p><p>if ($auto_login) {</p><p> // 3.27</p><p> // 자동로그인 ---------------------------</p><p> // 쿠키 한달간 저장</p><p> $key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);</p><p> set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);</p><p> set_cookie('ck_auto', $key, 86400 * 31);</p><p> // 자동로그인 end ---------------------------</p><p>} else {</p><p> set_cookie('ck_mb_id', '', 0);</p><p> set_cookie('ck_auto', '', 0);</p><p>}</p><p> </p><p> </p><p>if ($url) </p><p>{</p><p> $link = urldecode($url);</p><p> // 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)</p><p> if (preg_match("/\?/", $link))</p><p> $split= "&"; </p><p> else</p><p> $split= "?"; </p><p> </p><p> // $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김</p><p> foreach($_POST as $key=>$value) </p><p> {</p><p> if ($key != "mb_id" && $key != "mb_password" && $key != "x" && $key != "y" && $key != "url") </p><p> {</p><p> $link .= "$split$key=$value";</p><p> $split = "&";</p><p> }</p><p> }</p><p>} </p><p>else</p><p> $link = $g4[path];</p><p> </p><p>goto_url($link);</p><p>?>
로그인이 안된상태로 넘어갑니다.
입력한 id값과 pw값이 넘어오는 것은 확인했는데 어떤문제때문에 그런지 도움이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
9년 전
혹시 data/session이 퍼미션을 확인해보시기 바랍니다.
해당 경로가 없다던지...쓰기 권한이 없거나.. (퍼미션)
호스팅일경우 용량이 꽉차서 세션값이 저장이 안되서 그런겁니다.
이부분 확인해보시면 해결되리라 생각됩니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
답변대기
답변대기
채택
답변대기