SIR

login.php 코드 질문

login.php 코드 질문

QA

login.php 코드 질문

본문

안녕하세요 저는 그누보드 코드를 공부중입니다.

그누보드가 어떻게 동작하는지 코드를 보면서 로직을 공부하고 있습니다.

지금은 login.php를 하는 중인데요 모르는게 너무 많아서 질문드립니다. 

 


$url = strip_tags($_GET['url']);
 
// url 체크
check_url_host($url);

여기서 $_GET['url']는 어디서 받아오는지,
check_url_host($url);는 도대체 무슨 기능을 하는지 모르겠습니다.

 


if ($is_member) {
    if ($url)
        goto_url($url);
    else
        goto_url(G5_URL);
}

여기선 $is_member를 사용하는데 저건 common.php에서 회원, 비회원 구분을 하는 코드에서 선언되었는데


$is_member = $is_guest = false;
$is_admin = '';
if ($member['mb_id']) {
    $is_member = true;
    $is_admin = is_admin($member['mb_id']);
    $member['mb_dir'] = substr($member['mb_id'],0,2);
} else {
    $is_guest = true;
    $member['mb_id'] = '';
    $member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정
}

조건문 안에 있는 mb_id는 db에 칼럼 같은데 이 데이터를 어디서 가지고 오는건가요?

 

마지막으로 그누보드 코드를 공부할 때 알려주실 팁이 있으면 알려주세요!

이 질문에 댓글 쓰기 :

답변 1

1) /bbs/login.php?url=/bbs/board.php?bo_table=notice 와 같은 형태로 로그인 페이지가 호출되었다면,

$_GET['url'] 변수에 저장된 값은 "/bbs/board.php?bo_table=notice" 입니다.

 

로그인이 필요한 페이지에서, 로그인 페이지로 이동 후 -> 로그인이 되면.. 해당 페이지로 다시 되돌아오기 위해 사용된 방법이라고 보면 됩니다.

 

2) check_url_host() 는 php함수가 아닌 사용자 정의 함수입니다.

/lib/common.lib.php 에 check_url_host()가 정의되어 있으니 살펴볼 수 있습니다.

대략 $_GET['url'] 변수에 타 도메인이 들어가있는 지 등의 보안적인 문제를 체크하는 함수입니다.

 

3) 상단의 include_once('./_common.php'); 가 있는데.. 그누보드 루트의 common.php 를 가리킵니다.

그누보드 루트의 common.php 에서 정의된 $is_member 변수를 login.php 에서도 사용할 수 있습니다.

 

4) /common.php 에

$member = get_member($_SESSION['ss_mb_id']); 구문이 있습니다.

/lib/common.lib.php 에 보면 get_member() 함수를 살펴볼 수 있고,

get_member() 함수에서 현재 로그인된 회원의 DB 내용을 저장한다는 것을 확인할 수 있습니다.

 

5) ※ https://homzzang.com/b/free-1458 , https://youtu.be/FWW4g54jnJQ

 

답변을 작성하시기 전에 로그인 해주세요.
전체 95,458 | RSS
QA 내용 검색

회원로그인

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

© SIRSOFT