로그인 문제점 해결해주세요 ㅠ.ㅠ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

로그인 문제점 해결해주세요 ㅠ.ㅠ 정보

로그인 문제점 해결해주세요 ㅠ.ㅠ

본문

로그인을 하면 로그인 창에서 메인 화면으로 가야하는데 갈때도 있고 아니면 그누보드로 갈때도 있고 참 웃기는 현상이 일어 나고 있습니다. 도대체 어디가 문제점인가요 ㅠ.ㅠ
일단 로그인 스킨php를 올립니다. 도저히 모르겠네요 ㅠ.ㅠ 비슷한 글보다 어디 지점을 고치라고 정확히 설명을 해주시면 감사하겠습니다. url을 찾아라고 하셨는데 도저히 찾기가 힘이 드네요 ㅠ.ㅠ

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if ($g4['https_url']) {
    $login_url = $_GET['url'];
    if ($login_url) {
        if (preg_match("/^\.\.\//", $url)) {
            $login_url = urlencode($g4[url]."/".preg_replace("/^\.\.\//", "", $login_url));
        }
        else {
            $purl = parse_url($g4[url]);
            if ($purl[path]) {
                $path = urlencode($purl[path]);
                $urlencode = preg_replace("/".$path."/", "", $urlencode);
            }
            $login_url = $g4[url].$urlencode;
        }
    }
    else {
        $login_url = $g4[url];
    }
}
else {
    $login_url = $urlencode;
}
?>

<script type="text/javascript" src="<?=$g4[path]?>/js/capslock.js"></script>

<form name="flogin" method="post" onsubmit="return flogin_submit(this);" autocomplete="off">
<input type="hidden" name="url" value='<?=$login_url?>'>

<table  width="767" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5"><img src="<?=$member_skin_path?>/images/member_3_00_01.jpg" width="767" height="351" alt=""></td>
</tr>
<tr>
<td><img src="<?=$member_skin_path?>/images/member_3_00_02.jpg" width="213" height="39" alt=""></td>
<td width="265"><INPUT name="mb_id" size="35" tabindex="1"></td>
<td><img src="<?=$member_skin_path?>/images/member_3_00_04.jpg" width="9" height="39" alt=""></td>
<td rowspan="2"><input type="image" src="<?=$member_skin_path?>/images/member_3_00_05.jpg" width="149" height="80" alt="" border="0" tabindex="3"></td>
<td><img src="<?=$member_skin_path?>/images/member_3_00_06.jpg" width="131" height="39" alt=""></td>
</tr>
<tr>
<td><img src="<?=$member_skin_path?>/images/member_3_00_07.jpg" width="213" height="41" alt=""></td>
<td><INPUT type="password" name="mb_password" id="mb_password" size="35" tabindex="2"></td>
<td><img src="<?=$member_skin_path?>/images/member_3_00_09.jpg" width="9" height="41" alt=""></td>
<td><img src="<?=$member_skin_path?>/images/member_3_00_10.jpg" width="131" height="41" alt=""></td>
</tr>
<tr>
<td colspan="5"><img src="<?=$member_skin_path?>/images/member_3_00_11.jpg" alt="" width="767" height="173" border="0" usemap="#Map_ab"></td>
</tr>
</table>

</form>

<map name="Map_ab">
  <area shape="rect" coords="489,44,629,78" href="<?=$g4[bbs_path]?>/register.php">
</map>

<script type="text/javascript">
document.flogin.mb_id.focus();

function flogin_submit(f)
{
    <?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/login_check.php';";
    else
        echo "f.action = '$g4[bbs_path]/login_check.php';";
    ?>

    return true;
}
</script>

어디를  손대어야 메인 index로  갈수  있나요??? ㅠ.ㅠ

댓글 전체

login.php 는요
<?
include_once("./_common.php");

$g4[title] = "로그인";
include_once("./_head.php");

$p = parse_url($url);
if ($p['scheme'] || $p['host']) {
    alert("url에 도메인을 지정할 수 없습니다.");
}

// 이미 로그인 중이라면
if ($member[mb_id])
{
    if ($url)
        goto_url($url);
    else
        goto_url($g4[path]);
}

if ($url)
    $urlencode = urlencode($url);
else
    $urlencode = urlencode($_SERVER[REQUEST_URI]);

$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";

include_once("$member_skin_path/login.skin.php");

include_once("./_tail.php");
?>

입니다. 그리고 다음으로는 login_check.php를 올리면

<?
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);
?>

입니다. 어떤점이 문제인가요 ㅠ.ㅠ 도저히 알수가 없군요 ㅠ.ㅠ
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT