웹마스터 팁
외부프로그램(페이지)에서 zbxe 로그인 정보 연동하기
2007.12.23 05:50
원래 만들어서 쓰던 프로그램이 있는데 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도 아무 문제없이 사용가능합니다.
댓글 33
제목 | 글쓴이 | 날짜 |
---|---|---|
간편 css 압축 | Ansi™ | 2015.04.21 |
폰갭과 웹앱 그리고 XE... [6] | onTrust | 2015.04.23 |
PC에서 모바일화면 보는방법 [2] | 빅스타 | 2015.04.29 |
리스트에 스크랩 버튼을 뺴는 코드입니다. [3] | 착한악마 | 2015.04.30 |
xe설치시 퍼미션 문제나 DB엑세스 문제 해결하기 | 길가던분 | 2015.05.01 |
CKEditor 이용시 몇가지 유용한 설정 [11] | prologos | 2015.05.02 |
속도관련 나노팁. [5] | 1052 | 2015.05.04 |
member 모듈 업데이트가 계속 나오는 경우 | 고니고니 | 2015.05.06 |
[서버운영] 웹 재요청 방지 및 트래픽 감소를 위한 방법 | 마루디자인 | 2015.05.06 |
인기글 [1] | kdp | 2015.05.07 |
게시판의 MP3파일 갯수 표시하기 | kdp | 2015.05.07 |
오늘 작성된 게시글수 [2] | kdp | 2015.05.07 |
모바일 이미지 제거모드 | kdp | 2015.05.07 |
모바일 이미지축소모드 | kdp | 2015.05.07 |
저같은 초보분들이 궁금해 하실것같아서요 [3] | 착한동구 | 2015.05.08 |
플렛모바일 네이버로 로그인하기 버튼 | LI-NA | 2015.05.17 |
확장 컴포넌트 밖으로 뺀 후 완전한 버튼화 [1] | 키스미베이베 | 2015.05.20 |
레이어형 로그인 사용시에 SSL 적용방법 (선택적 사용시) [1] | 불금 | 2015.05.20 |
XE 템플릿 문법 : 조건부 class 작성하기 | AJKJ | 2015.05.23 |
자바로 스크롤 구현 [1] | 착한동구 | 2015.05.25 |