게시판 리스트보기에 비번걸기

게시판 리스트보기에 비번걸기

QA

게시판 리스트보기에 비번걸기

본문

비회원이 사용할 수 있는 게시판을 보면 일단 리스트가 바로 보이게 되는데,

비회원중에서 특정 암호를 아는 사람만 쓸수 있는 게시판으로 운영하려고 합니다.

즉, 모임에서 공통 비번을 공유하고, 특정 게시판에 들어가려면 바로 리스트가 보이는 게 아니라

비번 입력창이 뜨게 하려면 어떻게 하면 될까요?

이 질문에 댓글 쓰기 :

답변 1

이건 그누보드 비밀글을 볼때의 방식을 이해하면 만들수 있습니다.

 

비밀글 열람하는 방식 참고해서 코드 대충 짜보았으니 참고해보세요.

 

사전 작업 : 패스워드를 적용할 게시판 설정 여분필드1에 비밀번호를 입력을 합니다.

(게시글 목록 보기와 뷰는 레벨 1로 합니다)

 

1.  그누보드5/bbs/에 파일 생성 

 - 파일명 : board_password.php

 


<?php
include_once('./_common.php');
  
$action = https_url(G5_BBS_DIR).'/board_password_check.php'; 
include_once(G5_PATH.'/head.sub.php');
$g5['title'] = "게시판 비밀번호 입력";
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
?>

<!-- 비밀번호 확인 시작 { -->
<div id="pw_confirm" class="mbskin">
    <h1><?php echo $g5['title'] ?></h1>
    <p>비밀번호를 입력해주세요. </p>
    <form name="fboardpassword" action="<?php echo $action;  ?>" method="post">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <fieldset>
        <label for="pw_wr_password" class="sound_only">비밀번호<strong>필수</strong></label>
        <input type="password" name="wr_password" id="password_wr_password" required class="frm_input required" size="15" maxLength="20" placeholder="비밀번호">
        <input type="submit" value="확인" class="btn_submit">
    </fieldset>
    </form>
</div>
<!-- } 비밀번호 확인 끝 -->
<?

include_once(G5_PATH.'/tail.sub.php');

 

2.  그누보드5/bbs/에 파일 생성 

 - 파일명 : board_password_check.php

 


<?php
include_once('./_common.php');
    $qstr = 'bo_table='.$bo_table;
    if($wr_password != $board['bo_1']) { //폼에너 넘긴 비밀번호와 여분필드1에서 설정한 비밀번호가 다르다면
        alert('비밀번호가 틀립니다.');
    }
   //비밀번호가 맞다면
    $ss_name = 'ss_board_pw_'.$bo_table; 
    set_session($ss_name, TRUE);//세션을 생성(다시 접근시 비번 없이 접근 가능하고 게시글도 읽을수 있어야 하기 때문에)
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?'.$qstr));

 

3. 비번을 적용할 해당 게시판 스킨의

- list.skin.php 상단

 


if ($is_guest && $board['bo_1']){    //비회원이고 비번설정이 되어있으면
    $ss_name = 'ss_board_pw_'.$bo_table; 
    if (!get_session($ss_name)) //세션을 확인하여 패스워드 통과 못했으면 패스워드 입력 칸으로 이동
        goto_url(G5_BBS_URL.'/board_password.php?bo_table='.$bo_table);
}

 

4. 비번을 적용할 해당 게시판 스킨의

- view.skin.php 상단


if ($is_guest && $board['bo_1']){    
    $ss_name = 'ss_board_pw_'.$bo_table; 
    if (!get_session($ss_name)) alert("잘못된 접근입니다"); //비번 통과를 못했으면 게시글 열람 불가(그누보드 구조를 아는 회원은 게시글로 다이렉트로 올수 있기 때문)
}

 

대략 이런식으로 가능할것 같습니다.

 

허점이 많은 코드이긴 하지만 참고해보세요.

 

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

회원로그인

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