로그인 문제점 해결해주세요 ㅠ.ㅠ 정보
로그인 문제점 해결해주세요 ㅠ.ㅠ본문
로그인을 하면 로그인 창에서 메인 화면으로 가야하는데 갈때도 있고 아니면 그누보드로 갈때도 있고 참 웃기는 현상이 일어 나고 있습니다. 도대체 어디가 문제점인가요 ㅠ.ㅠ
일단 로그인 스킨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로 갈수 있나요??? ㅠ.ㅠ
일단 로그인 스킨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로 갈수 있나요??? ㅠ.ㅠ
댓글 전체

위의 코드는 정상 같은데요....
"bbs/login_check.php"와 ' login.php'을 올려줘 보세요.
"bbs/login_check.php"와 ' login.php'을 올려줘 보세요.
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);
?>
입니다. 어떤점이 문제인가요 ㅠ.ㅠ 도저히 알수가 없군요 ㅠ.ㅠ
<?
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);
?>
입니다. 어떤점이 문제인가요 ㅠ.ㅠ 도저히 알수가 없군요 ㅠ.ㅠ

이상하군요. 지금 올려주신 페이지를 봐서는 전혀 이상이 있을 수 있는 부분이 없습니다.
저도 진짜 이상합니다. 어떠할때는 그누보드로 가고ㅠ.ㅠ 아니면 메인으로 가고 정말 알수가 없네요 ㅠ.ㅠ