관리자도 볼 수 없는 비밀글 만들기 채택완료
익명게시판을 받아서 https://sir.kr/g5_skin/36634" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/g5_skin/36634
비밀 게시판으로 사용하려고 관리페이지에서 비밀글 무조건으로 바꾸고
목록도 비밀글 처리가 필요해서 list.skin.php에서 제목이 표시 안되게 바꿨습니다.
</p>
<p> <a href="<?php echo $list[$i]['href'] ?>" class="bo_subject">
<?php echo $list[$i]['icon_reply']; ?>
<?php if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret']; ?>
<?php echo $list[$i]['wr_id']; ?>
<?php if ($list[$i]['icon_secret']) { ?>비밀글 입니다.?php } else { ?>
<?php echo $list[$i]['subject'] ?></a>
<?php } ?>
</p>
<p>
그런데 관리자는 제목을 클릭하면 본문이 보여집니다.
관리자(admin)도 본문을 볼 수 없게 할 수 없을까요?
비밀게시판만요...
답변 3개
bbs/board.php를 보면
// wr_id 값이 있으면 글읽기
if ((isset($wr_id) && $wr_id) || (isset($wr_seo_title) && $wr_seo_title)) {
// 글이 없을 경우 해당 게시판 목록으로 이동
if (!$write['wr_id']) {
$msg = '글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.';
alert($msg, get_pretty_url($bo_table));
}
// 그룹접근 사용
if (isset($group['gr_use_access']) && $group['gr_use_access']) {
if ($is_guest) {
$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
alert($msg, G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
// 그룹관리자 이상이라면 통과
if ($is_admin == "super" || $is_admin == "group") {
;
} else {
// 그룹접근
$sql = " select count(*) as cnt from {$g5['group_member_table']} where gr_id = '{$board['gr_id']}' and mb_id = '{$member['mb_id']}' ";
$row = sql_fetch($sql);
if (!$row['cnt']) {
alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문>의 바랍니다.", G5_URL);
}
}
}
여기서 admin 권한이면 통과하는 부분 주석 처리하면 됩니다.
모든 게시판 적용입니다.
답변에 대한 댓글 2개
[code]
// 그룹관리자 이상이라면 통과
if ($is_admin == "super" || $is_admin == "group") { [/code]
위 부분을
[code]
// 그룹관리자 이상이라면 통과
if ($is_admin == "super" || $is_admin == "group" && $bo_table !="hiden" ) { [/code]
로 바꿨습니다.
hiden 게시판이면 관리자도 못보게 하려는건데..
그런데 비밀글 클릭하면 본문이 보여지는군요.. 뭐가 문제인가요...
문제는 && $bo_table !="hiden" 를 && $bo_table =="hiden" 로 바꿔도 마찮가지라는거.. ㅜㅜ;
이쪽이 아닌거 같은데...
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span><span class="token variable">$list</span><span class="token punctuation">[</span><span class="token variable">$i</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'icon_secret'</span><span class="token punctuation">]</span><span class="token punctuation">) 수정</span></p>
<p><span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span><span class="token variable">$list</span><span class="token punctuation">[</span><span class="token variable">$i</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'icon_secret'</span><span class="token punctuation">] || $list[i]['mb_id'] !=$member['mb_id'])</span></p>
<p>등록자가 아니면 비밀글로</p>
<p>
답변에 대한 댓글 2개
문제는 본인이나 지정한 사람외에 '관리자'도 볼 수 있어서
'관리자'가 보는걸 막으려는 겁니다.
<?php
$idArr=array( 'ktg12', '허용아이디');//이건 for문 밖에
$sc=0;
if($list[$i]['mb_id'] !=$member['mb_id']
&& !in_array($member['mb_id'], $idArr)){ $sc=1;
$list[$i]['href']="javascript:alert('비밀글 입니다')";}
?>
앞의 제 답변 수정
if($sc)
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인