웹마스터 팁

원래 만들어서 쓰던 프로그램이 있는데 zbxe와 연동하려고 찾아보니, 질문만 있고 답변이 없더군요.
간단하게 만들어봤습니다.

세션만 불러오기 때문에 0.0002초만 실행시간에 추가 됩니다.
zbxe를 사용하는 중이라는 가정하에 이미 생겨 있을 session 폴더 생성 부분은 빼버렸습니다.
zbxe는 /home/hosting_users/mytravian/www/ 에 설치되어 있고, 외부프로그램은 /home/hosting_users/mytravian/www/mt/ 에 존재하고 있습니다.
저같은 경우 회원 추가정보로 타 사이트의 ID와 Password를 받고, 이 값으로 타 사이트의 화면을 긁어오는데 씁니다.

외부 프로그램의 맨 윗줄에 다음과 같이 추가합니다.

    $zbxe_server_path = "/home/hosting_users/mytravian/www/"; // 관리자 페이지에 설치된 경로 부분
    $zbxe_url_path = "http://mytravian.net/"; // zbxe가 설치된 URL
    
    if(!ini_get('session.auto_start')) {
        session_cache_limiter('no-cache, must-revalidate');
        ini_set("session.gc_maxlifetime", "18000");
        if(is_dir($zbxe_server_path."files/sessions")) session_save_path($zbxe_server_path."files/sessions/");
        session_start();
    }
    if(!$is_logged){      
      Header("Location:{$zbxe_url_path}?mid=outlogin&act=dispMemberLoginForm"); // 로그인 화면으로 이동
      exit(1);
    }
    else{ // 이 안에 원래 프로그램의 내용을 넣습니다. else 구문은 삭제해도 무방합니다.
       $no = $logged_info->member_srl;
       $id = $logged_info->user_id;
       $name = $logged_info->user_name;
       $nick = $logged_info->nick_name;
       $email = $logged_info->email_address;
       $home = $logged_info->homepage;
       $birth = $logged_info->birthday;
       $is_admin = $logged_info->is_admin;
      
       //로그인한 회원의 정보를 출력;;
       echo $no; // 회원 번호
       echo "\n<br />\n";
       echo $id; // 아이디
       echo "\n<br />\n";
       echo $name; // 이름
       echo "\n<br />\n";
       echo $nick; // 닉네임
       echo "\n<br />\n";
       echo $email; // 이메일
       echo "\n<br />\n";
       echo $home; //홈페이지
       echo "\n<br />\n";
       echo $birth;//생일
       echo "\n<br />\n";
      
       if($is_admin == "Y") // 관리자 일 경우
       echo "나는 관리자 입니다.";
       else // 관리자가 아닐 경우
       echo "나는 관리자가 아닙니다.";
    }


 주의해서 보실 부분은 1,2,11 라인입니다.

1번 라인에 zbxe가 설치된 절대경로를 입력합니다. 아래 그림에서처럼 관리자 페이지에 있는 것을 그대로 복사해 넣으세요.
맨끝의 / 까지 적어주셔야 합니다.


2번 라인은 zbxe를 불러올 수 있는 URL 입니다. zbxe란 폴더에 설치하셨으면 http://홈주소/zbxe/ 이렇게 되겠죠. 역시 / 까지 적어주세요.

11번 라인은 로그인이 안된 유저가 사용하려고 할때 로그인 화면으로 이동하는 겁니다.
이 로그인 화면을 zbxe 내의 외부페이지로 만듭니다. mid를 outlogin으로 한 것이 보이실 겁니다.

아래 그림처럼 layout도 미사용으로 세팅해주셔야 깔끔하게 로그인 화면만 뜹니다.



맨 아래 보시면 외부 프로그램이 있는 위치 /home/hosting_users/mytravian/www/mt/에서 outlogin.php 라는 파일을 불러왔습니다. 이 파일이 로그인 후에 외부 프로그램으로 다시 보내주는 역할을 합니다.

<?php
  Header("Location:http://mytravian.net/mt/mt5test.php");
  exit(1);
?>


아주 간단합니다. 돌아갈 외부 프로그램의 주소를 입력해주시면 됩니다. 주의하실점은 첫번째 소스의 $zbxe_url_path 와 outlogin.php 소스의 path가 동일해야 합니다. $zbxe_url_path 는 mytravian.net이라고 했는데, outlogin에서는 www.mytravian.net이라고 하시면 안됩니다.

zbxe의 외부 페이지 기능에선 referer 체크가 안되기 때문에, 외부프로그램마다 outlogin.php를 새로만들어서 외부페이지로 각각 등록해주셔야 합니다.


스샷 추가합니다. http://mytravian.net/mt/mt5test.php 에서 테스트해보실 수 있습니다.
로그인 ID와 비밀번호는 mttest 입니다.

처음 접속하면 로그인이 되어 있지 않으니 아래처럼 바로 outlogin 모듈을 불러옵니다.
여기서 mttest로 로그인을 하면




아래와 같이 유저정보가 없다고 뜹니다. 추가정보의 타 사이트 서버 username와 password를 입력하지 않았기 때문이죠.



mttest가 아닌 제 ID로 로그인을 하면 아래처럼 나옵니다.
외부 프로그램에 zbxe 로그인 정보만 불러오는거기 때문에, Query도 아무 문제없이 사용가능합니다.

제목 글쓴이 날짜
글을 읽을때마다 조회수 증가 하게 하는 팁 [19] 비밀얌 2007.11.06
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] 비밀얌 2007.11.13
간편해진 페이지 수정법 file coll 2007.11.16
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] 팔공산 2007.11.27
익명게시판 - 문제가 아직 많습니다. (다시 수정) [11] file 올챙이 2007.12.06
로그인 안되서 files 폴더 지우셨던 분들!! [3] file 율랑 2007.12.11
권한없는 모듈을 만났을때 로그인 페이지 띄우기.. [10] 똑디 2007.12.11
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] 길치객 2007.12.12
최근 댓글이 가장 위로 정렬 [2] 쏘프티 2007.12.20
외부프로그램(페이지)에서 zbxe 로그인 정보 연동하기 [33] file 도데군 2007.12.23
제로보드에서 로그인후 테크노트에서 로그인정보 사용하기 [4] JinHoHan 2007.12.26
레벨에 따라 자동으로 그룹 변경하기 [11] 지연아빠 2007.12.29
xe에 라이프팟 연동하기 [6] 가클 2007.12.30
내 홈페이지에 구글 검색용 애드센스 달기 file RulruRalra 2008.01.01
외부로그인-특정 페이지에 로그인창만 나타나게 하고 로그인하면 메인페이지로 이동하기 [11] 레드맨 2008.01.02
관리자 페이지 않나오게 하기 [1] Diver 2008.01.04
여러 서버에서 하나의 회원목록 관리&사용 [24] 화니군 2008.01.04
숫자 아이디 사용법 [6] Slick 2008.01.10
홈페이지에 예쁜 날씨 배너를 달아보자!!!! [3] file blue7376.myid.net 2008.01.28