특정 게시판 접근 권한 설정

특정 게시판 접근 권한 설정

QA

특정 게시판 접근 권한 설정

본문

레벨 3이 접근할 수 있는 레벨3 게시판이 있고,

 

레벨 4, 레벨 5가 접근할 수 있는 각 레벨4, 레벨5 게시판이 있습니다.

 

접근이 가능한 테이블 명은 as_3, as_4, as_5 인데,

 

3레벨은 as_3만, 4레벨은 as_4만, 5레벨은 as_5만 접근하게 해야하는데,

 

현 그느부도 숫자 권한 체계상 

 

레벨5가 레벨 3,4 게시판에 접근이 가능하게 되어 있습니다.

 

그래서 list와 view, write 스킨에서 if문을 사용하여 사용자를 필터링 해주려는데

 

문제는 as_3 게시판을 레벨 5회원이 접근하지 못하도록 

 

if문으로 짜서 접근 권한을 

 

if($bo_table == "AS_3")

{

if($member['mb_level'] == 3 || $member['mb_level'] == 9 || $member['mb_level'] == 10)

return true;

else

{

alert('잘못된 접근입니다');

location.replace("/");

}

}

이렇게 막았습니다.

 

여기에서 발생하는 문제점은 url이 AS_3 으로 들어갔을때는 접근권한이 정상적으로 차단이 되는데

 

botable=As_3 또는 bo_table=as_3 처럼 대문자와 소문자가 하나라도 섞일 경우, 필터링이 작동하지 않고 열람이 가능하도록 되어버립니다.

 

 

 

간단하게 요약하여

 

as_3 게시판에는 레벨 3회원들만 접근하고, 4, 5레벨 회원은 접근 불가능하도록,(관리자 및 어드민(레벨 9, 10은 접근 가능)

 

as_4 게시판에는 5레벨 회원은 접근이 블가능토록(list, view, write) 구문을 짜야하는데

 

일일이 if문 조건문을 쓰는게 아닌 위의구문 외 뭔가 더 심플하고 스마트판 방법으로

 

효과적으로 필터링 할 수 있는 로직이 없을까 고민하다가

 

고수분들께 도움을 구하고자합니다.

 

 

 

어떻게 짜면 좋을까요..

 

일일이 if문으로 대소문자에 관한 조건들을 일일이 다 달아주고 list, view, write에 일일이 기입하는 방법 외에는 정말 없는걸까요...?

 

 

 

이 질문에 댓글 쓰기 :

답변 1

/bbs/board.php 파일에서 수정하면 되지 않을까요

예를 들어 목록 보기 권한이 원본에는 이렇게 되어 있는데

if ($member['mb_level'] < $board['bo_list_level']) { 

이렇게 수정. (9레벨 이상이 아니거나 접근 가능 레벨하고 다르면 열람 금지)

if ($member['mb_level'] < 9 && $member['mb_level'] != $board['bo_list_level']) {

 

글 읽기 부분은 여기를 수정.

if ($member['mb_level'] < $board['bo_read_level']) { 

 

쓰기는 write.php 에 있겠네요.

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

회원로그인

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