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