로그인 문제 질문드립니다.
<?</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이 퍼미션을 확인해보시기 바랍니다.
해당 경로가 없다던지...쓰기 권한이 없거나.. (퍼미션)
호스팅일경우 용량이 꽉차서 세션값이 저장이 안되서 그런겁니다.
이부분 확인해보시면 해결되리라 생각됩니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
채택
채택
채택
채택
채택
채택
답변대기
답변대기
채택
채택
답변대기
채택
답변대기
채택
채택
답변대기
답변대기
답변대기