비밀글 클릭했을때요..... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

비밀글 클릭했을때요..... 정보

비밀글 클릭했을때요.....

본문

비회원이 작성한 비밀글이 있어요.
관리자가 로그인을 하지 않은 상태에서 그 비밀글을 클릭하면
패스워드 입력하라고 나오잖아요.
근데 관리자 비밀번호를 입력을 하면 패스워드가 틀리다고 나와요..
 
근데 관리자 로그인을 한 상태에서는 그 비밀글이 읽혀지거든요.
 
근데 관리자 로그인을 안하고 비밀글을 클릭하고 관리자 패스워드를 입력하면 왜 거부될까요...
 
도와주세요
  • 복사

댓글 전체

당연한겁니다...
해당글의 비밀번호 입력창이라서 그렇습니다..

로그인 비밀번호가 아니라,
비밀글작성시 입력한 비밀번호를 체크하거든요...^^
그누보드의 경우 $is_admin 으로 관리자인지 아닌지를 파악을 해서 관리자일 경우에는 무조건 통과(?)식의 형태일 겁니다.

만일 관리자 비밀번호로 해당글 번호를 입력해서 읽기가능하게 하려면

bbs/password_check.php에 관리자 비밀번호이거나 아니면 해당글의 비밀번호라면 통과시키고

아닐경우 되돌려 보내는 구문으로 수정하셔야 합니다. 원본을 수정해야 하는 슬픔이....ㅠ.ㅠ
bbs/password_check.php의 원본을 백업하시고 대신 아래것을 넣어 보세요.
테스트는 해보지 못했습니다만 형태는 비슷한 맥락일듯 합니다...

<?
include_once("./_common.php");

if ($w == "s") {
    $qstr = "bo_table=$bo_table&sfl=$sfl&stx=$stx&wr_id=$wr_id&page=$page";

    $wr = get_write($write_table, $wr_id);
    $wr2 = get_member($config[cf_admin]);
   
    if (sql_password($wr_password) != $wr[wr_password] || sql_password($wr_password) != $wr2[mb_password])
        alert("패스워드가 틀립니다.");

    // 세션에 아래 정보를 저장. 하위번호는 패스워드없이 보아야 하기 때문임.
    //$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
    $ss_name = "ss_secret_{$bo_table}_{$wr[wr_num]}";
    //set_session("ss_secret", "$bo_table|$wr[wr_num]");
    set_session($ss_name, TRUE);

} else
    alert("w 값이 제대로 넘어오지 않았습니다.");

goto_url("./board.php?$qstr");
?>
<?
include_once("./_common.php");

if ($w == "s") {
    $qstr = "bo_table=$bo_table&sfl=$sfl&stx=$stx&wr_id=$wr_id&page=$page";

    $wr = get_write($write_table, $wr_id);
    $wr2 = get_member($config[cf_admin]);
   
    if (sql_password($wr_password) == $wr[wr_password] || sql_password($wr_password) == $wr2[mb_password])
    ;
    //if (sql_password($wr_password) != $wr[wr_password])
    else
        alert("패스워드가 틀립니다.");

    // 세션에 아래 정보를 저장. 하위번호는 패스워드없이 보아야 하기 때문임.
    //$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
    $ss_name = "ss_secret_{$bo_table}_{$wr[wr_num]}";
    //set_session("ss_secret", "$bo_table|$wr[wr_num]");
    set_session($ss_name, TRUE);

} else
    alert("w 값이 제대로 넘어오지 않았습니다.");

goto_url("./board.php?$qstr");
?>
© SIRSOFT
현재 페이지 제일 처음으로