웹마스터 팁

원래 만들어서 쓰던 프로그램이 있는데 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도 아무 문제없이 사용가능합니다.

제목 글쓴이 날짜
외부페이지에서 로그인 폼 구현하기 컴퓨터매니아 2013.09.09
[주옥시리즈] 타이틀 제어 애드온 socialskyo 2013.09.09
[주옥시리즈] [1.7.4] 로그인창 옆에 신규 쪽지 수 보여주기 [3] socialskyo 2013.09.09
추천 취소 기능 만들기 [5] file Summer 2013.09.11
게시글 추천 아이피 가져오기 file Stellar 2013.09.12
Apache .htaccess 작성요령 [10] 컴매냐 2013.09.19
스케치북 게시판에 로그인/로그아웃 버튼 만들기 [1] Arp. 2013.09.22
XE 로만든 앱 + 푸쉬기능 구현하기 (안드로이드) [53] file Xiso 2013.10.16
Content 확장위젯2 에서 권한설정 안되던 버그 xe1.7 garnecia 2013.11.18
[수정]알림센터 Lite에 메일발송 기능을 추가하기 [11] file 매실茶 2013.11.25
소셜 XE 페이스북 로그인 에러 해결 방법 file 신평 2013.11.30
새로운 쪽지 유무에 따라 이미지 변경하는 법 [2] 멀티비타민 2013.12.16
나만의 익명게시판에서 닉네임 확인하는 방법(꼼수라고 밝힙니다.) [5] 착한부산남자 2014.01.03
스케치북 게시판 사용시 "내용을 입력해주세요"라고 뜨면서 댓글 입력이 안될경우 체크해봐야할 사항 [1] socialskyo 2014.01.07
1.5 -> 1.7 업글중 백지상태 부분!! una_nampyeon 2014.02.03
스윙브라우저 유저분들 필독. [10] KSG2013 2014.02.08
글쓰기를 클릭하면 띄워지는 테두리 없는 예쁜 팝업 띄우기 core. 1.7.4 [4] file 마음의빈자리 2014.02.11
nginx 에서 서브도메인 사용시 로그인유지방법 [3] garnecia 2014.02.26
로그인 안하면 코멘트 볼 수 없게 스킨 수정하는 법 [3] W.O 2014.03.23
VB.NET에서 XE로그인 연동하기.[내용추가] [3] AppSeedKorea 2014.03.26