답변 3개
게시판의 특성상 최상단에서 막을 필요가 있지만, 그러려면 게시판 내부 코드를 수정해야 합니다. 이러면 추후 보안 업데이트를 할 경우에 문제가 발생할 수 있으므로 간단하게 스킨쪽에서 수정하는 방법을 알려드립니다.
조건 : 아이디를 여분필드1 값에 입력 / 콤마를 기준으로 다수의 아이디 처리
view.skin.php
</p>
<p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');</p>
<p> </p>
<p>//--- 추가필드에 입력된 ID만 접근 가능하도록 처리
$arrId = explode(',', $board['bo_1']);
$accessChk = in_array($member['mb_id'], $arrId);</p>
<p>if($is_admin != 'super' && !$accessChk){
// 차단을 위한 코드 입력
}</p>
<p>
list.skin.php
</p>
<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p> </p>
<p>//--- 추가필드에 입력된 ID만 접근 가능하도록 처리
$arrId = explode(',', $board['bo_1']);
$accessChk = in_array($member['mb_id'], $arrId);</p>
<p>if($is_admin != 'super' && !$accessChk){
echo '접근할 수 없습니다.';
}</p>
<p>
이렇게 리스트, 뷰 스킨 최상단에 처리해주면 됩니다. 다만, 댓글 남겨주신 쵸니쵸니님 말씀처럼 여분필드 값이 varchar 255로 설정되어 있으므로 입력에 제한이 있습니다. 이걸 좀 더 크게 설정해주실 필요가 있습니다.
도움이 되었으면 답변 채택 부탁드립니다.
답변에 대한 댓글 4개
"// 차단을 위한 코드 입력" 부분에 코드을 입력하지 않은 것 아닌지
[code]
alert('접근권한이 없습니다.', G5_URL);
[/code]
이런 방식으로 처리해주면 됩니다.
"// 차단을 위한 코드 입력" 부분에 코드 부분을 보지 못해서 넣질 않았네요.
넣고 해보겠습니다~
댓글을 작성하려면 로그인이 필요합니다.
스킨 view.skin.php 에서 작업해주시면 되겠습니다.
다만, wr_X 컬럼의 datatype이 varchar(255)라서 변경해주셔야 할겁니다.
답변에 대한 댓글 1개
view.skin.php 에서 변경을 어떤걸 해줘야하는지 알 수 있을까요?
제가 초보라 정확하게 모르겠네요 ..
댓글을 작성하려면 로그인이 필요합니다.
아래 링크를 참조해서 작업해 보세요.
http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=142">http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=142
말씀하신 스킨도 있어서 링크 합니다....^^
https://sir.kr/g5_skin/10850">https://sir.kr/g5_skin/10850
답변에 대한 댓글 1개
링크 해보니 1개의 아이디만 적용이되네요 ㅠㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
view.skin.php에 위에 소스 넣고,
관리자모드에서 게시판 여분필드에 지정한 특정 아이디 입력했습니다.
그런데,
여분필드에 지정한 특정 아이디 뿐만 아니라 입력하지 않은 다른 아이디도 보기가 가능하더라구요. 알려주신 위에 소스에 수정 또는 다른 설정해야할 부분이 있나요?