회원레벨별로 접근 가능한 페이지 설정하기
회원레벨별로 특정 페이지에 접근을 제한하는 extend 입니다.
ㅁ 적용방법
아래 스크립트를 파일로 만들거나,
첨부파일을 다운받아 extend 폴더에 올리시면 됩니다.
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// ====================================================================================
// 마스타팩 extend
// 회원레벨별로 접근 가능한 페이지 설정하기
// * 주요변수
// $level_access_use - true:기능사용함, false:기능사용안함
// $level_access_urls - 레벨별로 접근 가능한 페이지의 배열 변수
// ====================================================================================
$level_access_use = true;
$level_access_urls = array(G5_URL."/page1.php,3", G5_URL."/page2.php,3", G5_URL."/page3.php,3");
if ($level_access_use) {
global $member;
$level_access_redirect = false;
foreach($level_access_urls as $i) {
list($la_url,$la_level) = explode(",", $i);
if(stripos($la_url, $_SERVER['SCRIPT_NAME']) !== false) {
if ($member['mb_level'] < $la_level) {
$level_access_redirect = true;
break;
}
}
}
if($level_access_redirect) {
alert("권한이 없습니다.",G5_URL);
}
}
?>
[/code]
ㅁ 사용법 및 주요 변수
1. extend 파일 안의 주요 변수를 적절하게 조절합니다.
* 주요변수
$level_access_use - true:기능사용함, false:기능사용안함
$level_access_urls - 레벨별로 접근 가능한 페이지의 배열 변수, "특정url,접근가능회원레벨" 의 쌍으로 된 변수입니다.
2. (그누보드)/extend 폴더에 파일 업로드 합니다.
ㅁ 수정사항
- 2017-04-27
"url에 도메인을 지정할 수 없습니다." 오류 수정
그누보드 기본 소스에서 사용하는 변수명이 있어서 변수명을 변경하였습니다. ($url)
이전에 받으신 분은 다시 받으시거나, 해당 부분을 수정해 주세요.
ㅁ 적용방법
아래 스크립트를 파일로 만들거나,
첨부파일을 다운받아 extend 폴더에 올리시면 됩니다.
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// ====================================================================================
// 마스타팩 extend
// 회원레벨별로 접근 가능한 페이지 설정하기
// * 주요변수
// $level_access_use - true:기능사용함, false:기능사용안함
// $level_access_urls - 레벨별로 접근 가능한 페이지의 배열 변수
// ====================================================================================
$level_access_use = true;
$level_access_urls = array(G5_URL."/page1.php,3", G5_URL."/page2.php,3", G5_URL."/page3.php,3");
if ($level_access_use) {
global $member;
$level_access_redirect = false;
foreach($level_access_urls as $i) {
list($la_url,$la_level) = explode(",", $i);
if(stripos($la_url, $_SERVER['SCRIPT_NAME']) !== false) {
if ($member['mb_level'] < $la_level) {
$level_access_redirect = true;
break;
}
}
}
if($level_access_redirect) {
alert("권한이 없습니다.",G5_URL);
}
}
?>
[/code]
ㅁ 사용법 및 주요 변수
1. extend 파일 안의 주요 변수를 적절하게 조절합니다.
* 주요변수
$level_access_use - true:기능사용함, false:기능사용안함
$level_access_urls - 레벨별로 접근 가능한 페이지의 배열 변수, "특정url,접근가능회원레벨" 의 쌍으로 된 변수입니다.
2. (그누보드)/extend 폴더에 파일 업로드 합니다.
ㅁ 수정사항
- 2017-04-27
"url에 도메인을 지정할 수 없습니다." 오류 수정
그누보드 기본 소스에서 사용하는 변수명이 있어서 변수명을 변경하였습니다. ($url)
이전에 받으신 분은 다시 받으시거나, 해당 부분을 수정해 주세요.
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 16개
이런코드 정말 사랑합니다. 수고하셨습니다.
해당레벨 이상인 회원은 볼 수 있습니다.
[http://sir.kr/data/editor/1704/1c71c9baa4a9b1ef714be35645b5f80a_1491664552_9346.png]
버그나 개선사항이 있으면 알려주세요.. ^^
아래와 같은 코드를 만들어 extend 에 넣어 보세요.
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($member['mb_level'] < 3) {
alert("권한이 없습니다.","http://www.daum.net"); // 갈 곳이 없어서, 딴 곳으로 보냄
}
?>
[/code]
전에 공개한 로그인해야 방문되는 부분에서
검색,접속회원,최신글은 비회원이 열람이 가능하게 되여 있어서요.
해당 페이지에 접근권한이 부족할 경우에,
강제로 로그아웃을 시켜버리는 방법은 별로 좋은 것 같지 않습니다. ^^
로그인을 했는데 권한이 1인 경우는 잘 없는데..
한번 고민해 봐야 할 듯 합니다.
영카트에서 레벨3이상만 구매 가능하게 특정카테고리를 생성한후 제품을 올리면 카테고리는 3레벨 이하는 접근이 불가하지만 바로구매 링크값을 강제로 넣어주면 3레벨 이하도 구매 가능할거 같은데 어떻게 특정페이지를 구현해야 할까요?
@짱구아빠
말씀하신 것은 위 코드만으로는 구현이 어려울 것 같습니다.
파라미터까지 체크하도록 소스를 수정해야 할 것으로 보입니다.