그누보드 프로그램을 만들려고합니다! 간단한 질문이에요!

로그인한 사람의 고유값을 얻고싶은데 어떤파일을 include 해야하고
그안에 어떤변수가 로그인한 사람의 고유값인가요? ㅎㅎ 알려주세요!
미리감사드립니다!!ㅎㅎ
|

댓글 2개

<?
include_once("./_common.php");
?>
선언하고.

$member = get_member($_SESSION[ss_mb_id]);

던가요????
아래는 로그인을 하게되면 거치게 되는 login_check.php 소스입니다.
<?
include_once("./_common.php");

$mb_id = $_POST[mb_id];
//로그인폼에서 넘어온 아이디값을 $mb_id라는 변수에 넣는다
$mb_password = $_POST[mb_password];
//로그인폼에서 넘어온 패스워드값을 $mb_password라는 변수에 넣는다

if (!trim($mb_id) || !trim($mb_password))
//변수의 좌우 공백을 제거한 값이 없다면
//결국 아이디나 패스워드로 넘어온 값이 없다면
alert("회원아이디나 패스워드가 공백이면 안됩니다.");
//경고창을 띄운다.

/*
// 자동 스크립트를 이용한 공격에 대비하여 로그인 실패시에는 일정시간이 지난후에 다시 로그인 하도록 함
if ($check_time = get_session("ss_login_check_time")) {
//세션변수에 저장된 로그인시간을 가져와서 $check_time변수넣는다.
//이것이 값이 있다면 = 세션에 저장된 로긴타임값이 있다는 뜻
//없으면 아래 루틴을 할 필요가 없으므로 넣은듯
//아래 설명은 생략
if ($check_time > $g4['server_time'] - 15) {
alert("로그인 실패시에는 15초 이후에 다시 로그인 하시기 바랍니다.");

}
}
set_session("ss_login_check_time", $g4['server_time']);
//세션변수에 서버의 시간을 ss_login_check_time이라는 키 값으로 저장합니다.
*/

$mb = get_member($mb_id);
//get_member함수에 위에서 설정한 아이디값으로 회원의 정보를 가져오는 함수를 실행하여
//$mb에 넣어둔다.

// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.
// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
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);
?>


쭉 살펴보면 로그인을 하면
로그인 사용자의 로그인 타임을 세션변수에 넣어두고
회원아이디와 고유키를 생성해서 세션변수에 넣어두고
한달짜리 쿠키에 아이디와 자동로그인여부를 저장한다.
또 $mb 에 get_member함수를 실행한 결과값을 넣어두네요
$mb = get_member($mb_id);

common.lib.php에 함수를 보니

function get_member($mb_id, $fields='*')
{
global $g4;

return sql_fetch(" select $fields from $g4[member_table] where mb_id = TRIM('$mb_id') ");
}

회원정보 테이블에서 레코드를 가져와서 값을 리턴하네요, 인자가 없으면 *로 쿼리를 하니
회원정보 테이블에서 모든 필드의 값을 가져옵니다.
$mb는 회원정보테이블의 필드구분자와 값으로 이용할 수 있습니다.
$mb[필드명], 혹은 $mb[인덱스] 로 가져와 쓸 수 있네요
위에 채택된 답변에서는 get_member함수 결과 값을 $member로 받았음을 주의하세요
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
13년 전 조회 1,606
13년 전 조회 1,857
13년 전 조회 1,572
13년 전 조회 1,572
13년 전 조회 1,572
13년 전 조회 1,514
13년 전 조회 1,422
13년 전 조회 1,354
13년 전 조회 3,425
13년 전 조회 1,268
13년 전 조회 1,531
13년 전 조회 1,558
13년 전 조회 1,520
13년 전 조회 1,823
13년 전 조회 1,004
13년 전 조회 975
13년 전 조회 1,526
13년 전 조회 957
13년 전 조회 4,137
13년 전 조회 1,520
🐛 버그신고