관리자모드에서 비회원 게시글 삭제 시 '비밀번호가 틀리므로 삭제할 수 없습니다.'

관리자모드에서 비회원 게시글 삭제 시 '비밀번호가 틀리므로 삭제할 수 없습니다.'

QA

관리자모드에서 비회원 게시글 삭제 시 '비밀번호가 틀리므로 삭제할 수 없습니다.'

본문

 

관리자모드에서 비회원모드로 작성했던 게시글을 삭제하려 하면 '비밀번호가 틀리므로 삭제할 수 없습니다.'라고 뜨는데, 왜 그러는 걸까요 ?

 

익스플로러에서 한글도메인 문제때문에 삭제할 때 웹페이지를 표시할 수 없다는 바람에

삭제, 수정 시 경로를 절대경로로 모두 변경했는데 관련이 있을까요 ? (절대경로 변경 전에는 크롬에서 비밀번호 입력창으로 넘어갔습니다.)

 

 

view.php 내용 일부입니다. (절대경로 변경 전)


// 수정, 삭제 링크
$update_href = $delete_href = '';
// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] == $write['mb_id'])) || $is_admin) {
    $update_href = './write.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
    $delete_href = './delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.urldecode($qstr);
    if ($is_admin)
    {
        set_session("ss_delete_token", $token = uniqid(time()));
        $delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&token='.$token.'&page='.$page.urldecode($qstr);
    }
}
else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면
    $update_href = './password.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
    $delete_href = './password.php?w=d&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
}
// 최고, 그룹관리자라면 글 복사, 이동 가능
$copy_href = $move_href = '';
if ($write['wr_reply'] == '' && ($is_admin == 'super' || $is_admin == 'group')) {
    $copy_href = './move.php?sw=copy&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
    $move_href = './move.php?sw=move&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
}

 

 

 

delete.php입니다.


if ($is_admin == 'super') // 최고관리자 통과
    ;
else if ($is_admin == 'group') { // 그룹관리자
    $mb = get_member($write['mb_id']);
    if ($member['mb_id'] != $group['gr_admin']) // 자신이 관리하는 그룹인가?
        alert('자신이 관리하는 그룹의 게시판이 아니므로 삭제할 수 없습니다.');
    else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
        alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.');
} else if ($is_admin == 'board') { // 게시판관리자이면
    $mb = get_member($write['mb_id']);
    if ($member['mb_id'] != $board['bo_admin']) // 자신이 관리하는 게시판인가?
        alert('자신이 관리하는 게시판이 아니므로 삭제할 수 없습니다.');
    else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
        alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.');
} else if ($member['mb_id']) {
    if ($member['mb_id'] != $write['mb_id'])
        alert('자신의 글이 아니므로 삭제할 수 없습니다.');
} else {
    if ($write['mb_id'])
        alert('로그인 후 삭제하세요.', './login.php?url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
    else if (sql_password($wr_password) != $write['wr_password'])
        alert('비밀번호가 틀리므로 삭제할 수 없습니다.');
}

 

 

 

방법 아시는 분 도와주세요 ㅠ0ㅠ

이 질문에 댓글 쓰기 :

답변 1

변경하신 페이지에서 $is_admin, $member['mb_id'] 확인 해 보셔야 할거 같으네요.

 

나온 메세지 보면 $is_admin 이 super도 board도 아니고 $member['mb_id']도 없어서

나온건데요.

 

익스에서 한글 도메인 문제라고 하신것도 궁금하네요... 어떤 문제인지요?

 

그리고 변경전 소스만 올라와 있는데 변경전 소스도 있어야 비교를 할 수 있지 않을까요?

 

일단은 url 절대니 상대니가 문제가 아닌거 같습니다.

 

delete.php 에서 if문 들어가기 전에 echo $is_admin; exit; 로 확인 해 보시는게 좋을거 같습니다.

 

값이 없다면 어딘가에서 누락되는 부분을 찾아야 할거 같습니다.  일단 확인 먼저.... 

으악 장문으로 달았는데 다 날아갔네요..
급한 문제라 결국 덮어쓰기 했습니다. 아직 배워가는 단계라 되도록 재설치없이 도움 구하고, 고쳐보고 하려했는데 마음만큼 잘 안 되네요.
궁금하다고 하신 익스 한글도메인 문제는 본문에서 자세히 얘기하지 않았는데,
익스플로러에서 한글도메인 사이트 게시판의 게시글을 삭제하면 "웹페이지를 표시할 수 없습니다"로 넘어가더라구요.
그래서 여기서 답변구해서 view.php의 삭제 링크와 수정 링크 등등의
'./write.php?w=u&amp;bo_table=' 부분을
'http://절대경로.cafe24.com/bbs/write.php?w=u&amp;bo_table='등으로 변경했었습니다.
질문게시판에서 자주 봽는데 답변 진심으로 감사드립니다. 좋은 하루 되세요~

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

회원로그인

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