그누보드 글쓰기(비밀글)권한 질문드립니다.

그누보드 글쓰기(비밀글)권한 질문드립니다.

QA

그누보드 글쓰기(비밀글)권한 질문드립니다.

답변 5

본문

http://m.samjukgas.co.kr/gb/bbs/write.php?bo_table=free



안녕하세요

그누보드 글쓰기(비밀글)권한 질문드립니다.

다름이아니라 오픈게시판이며, pc에서는 등록이 잘되는데 모바일에서 등록 시


비밀글 미사용 게시판 이므로 비밀글로 등록할 수 없습니다.


이런 메시지가 도출되고있습니다.

소스 그대로 서버이전작업을 하였는데 왜 이러한 현상이 모바일 자유게시판에서만 일어나는지 모르겠습니다.


고수님들께서 한 수 알려주시면 감사드리겠습니다.

이 질문에 댓글 쓰기 :

답변 5

게시판 설정을 살펴보세요.

무조건 비밀글 체크가 된것은 아닌지...라고 적다가... 

원글을 보니 PC에서는 비밀글 없이 작성이 가능하다고 하셨죠?


방금 PC와 모바일 글작성을 해봤습니다.

모바일 스킨에서  write.skin.php 와 write_update.skin.php  등의 파일 내용을 함 보고 싶네요.

http://samjukgas.co.kr/gb/bbs/write.php?bo_table=free&device=mobile

이렇게해서 작동이 안되는것으로 보니...

모바일일때 뭔가 처리를 다르게 하고 있는것 같습니다.

단순 스킨의 문제가 아닌거 같은디요...

그누보드를 2개 설치해서 운영하는 것은 아닌가요?

답변 감사드립니다.
2개가 설치되어있는지는 모르겠습니다만 그럴수도있겠다는 생각이 듭니다.
(모바일 m폴더에 gb폴더가 하나 더 있습니다)
혹시 몰라 php소스를 올려드립니다

m/gb/bbs/write.php


    $tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0;
    if ($tmp_point + $board['bo_write_point'] < 0 && !$is_admin)
        alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글답변('.number_format($board['bo_comment_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글답변 해 주십시오.');

    //if (preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board['bo_notice']))
    if (in_array((int)$wr_id, $notice_array))
        alert('공지에는 답변 할 수 없습니다.');

    //----------
    // 4.06.13 : 비밀글을 타인이 열람할 수 있는 오류 수정 (헐랭이, 플록님께서 알려주셨습니다.)
    // 코멘트에는 원글의 답변이 불가하므로
    if ($write['wr_is_comment'])
        alert('정상적인 접근이 아닙니다.');

    // 비밀글인지를 검사
/*
    if (strstr($write['wr_option'], 'secret')) {
        if ($write['mb_id']) {
            // 회원의 경우는 해당 글쓴 회원 및 관리자
            if (!($write['mb_id'] == $member['mb_id'] || $is_admin))
                alert('비밀글에는 자신 또는 관리자만 답변이 가능합니다.');
        } else {
            // 비회원의 경우는 비밀글에 답변이 불가함
            if (!$is_admin)
                alert('비회원의 비밀글에는 답변이 불가합니다.');
        }
    }
*/
    //----------

    // 게시글 배열 참조
    $reply_array = &$write;

    // 최대 답변은 테이블에 잡아놓은 wr_reply 사이즈만큼만 가능합니다.
    if (strlen($reply_array['wr_reply']) == 10)
        alert('더 이상 답변하실 수 없습니다.\\n\\n답변은 10단계 까지만 가능합니다.');

비밀글 부분이 //처리되어있었습니다.

m/gb/bbs/write_update.php 비밀글 소스 부분입니다.

    if ($w == 'r') {
        // 답변의 원글이 비밀글이라면 비밀번호는 원글과 동일하게 넣는다.
        if ($secret){
            $wr_password = $wr['wr_password'];
echo $wr_password;

}
        $wr_id = $wr_id . $reply;
        $wr_num = $write['wr_num'];
        $wr_reply = $reply;
    } else {
        $wr_num = get_next_num($write_table);
        $wr_reply = '';
    }




// 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다.
if (!$group['gr_use_access'] && $board['bo_read_level'] < 2 && !$secret) {
    naver_syndi_ping($bo_table, $wr_id);



// 비밀글이라면 세션에 비밀글의 아이디를 저장한다. 자신의 글은 다시 비밀번호를 묻지 않기 위함
if ($secret)
    set_session("ss_secret_{$bo_table}_{$wr_num}", TRUE);



// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글은 사용일 경우에만 가능해야 함
if (!$is_admin && !$board['bo_use_secret'] && $secret) {
alert('비밀글 미사용 게시판 이므로 비밀글로 등록할 수 없습니다.');
}



// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글 무조건 사용일때는 관리자를 제외(공지)하고 무조건 비밀글로 등록
if (!$is_admin && $board['bo_use_secret'] == 2) {
    $secret = 'secret';
}



확인 부탁드립니다.
감사합니다.

모바일 게시판에서는 비밀글 고정으로 되어있습니다. 

모바일 스킨파일을 수정하세요.

모바일 스킨이 비밀글 고정으로 되어 있네요.

<input type="hidden" name="secret" value="secret">   이렇게요

gb/mobile/skin/board/basic/write.skin.php 내용을 살펴보세요

내용중에 위의 코드가 보이면 그것을 삭제 또는 주석으로 작동 안되게 변경하세요

안녕하세요




        if ($is_secret) {
            if ($is_admin || $is_secret==1) {
                //$option .= PHP_EOL.'<input type="checkbox" id="secret" name="secret" value="secret" '.$secret_checked.'>'.PHP_EOL.'<label for="secret">비밀글</label>';
            } else {
                //$option_hidden .= '<input type="hidden" name="secret" value="secret">';
            }
        }







구매신청게시판

http://m.samjukgas.co.kr/gb/bbs/board.php?bo_table=application

이 게시판은 무조건 비밀글이라 이렇게 소스가 되어있는데

이 부분을 // 전부 주석처리하여도 똑같이 비밀글게시판이라 글쓰기가 안된다합니다.

혹시 다른 방법이 있을까요?ㅠㅠ

아래내용이 왜 원본과 다른가를 살펴보세요.

모바일에 대응시키려고 코드를 비틀어 놓은것은 아닌가 싶네요.

순정 그누보드의 경우엔 둘다 대응이 되어야 하는데...

pc 따로 모바일 따로 프로그램이 존재하는것이 아닐까 생각됩니다.

서버에 접속해서  심볼릭링크 가 사용된것은 아닌지 ... 그외 여러가지 변수를 살펴봐야 할듯하네요



1.

m/gb/bbs/write.php  에서

비밀글 여부 체크하는 로직을 왜 주석으로 막은건가요?



2. m/gb/bbs/write_update.php 에서


2-1. 

echo $wr_password;   를 노출시키는 이유가 뭔가요?



2-2. 

// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글은 사용일 경우에만 가능해야 함 

if (!$is_admin && !$board['bo_use_secret'] && $secret) { 


의 경우 원본 그누보드5에서는 아래와 같습니다.


// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글은 사용일 경우에만 가능해야 함

if (!$is_admin && !$board['bo_use_secret'] && (stripos($_POST['html'], 'secret') !== false || stripos($_POST['secret'], 'secret') !== false || stripos($_POST['mail'], 'secret') !== false)) {


답변 감사드립니다!
현재 이미지는 심볼릭링크가 사용되어있습니다,
이 부분때문에 그럴 수 있는건가요?

비밀글 여부 체크하는 로직을 왜 주석으로 막은건지는 잘 모르겠습니다 ㅜㅜ
근데 현재 구매신청게시판은 무조건 비밀글로 체크와 상관없이 비밀글로 되며
다른 게시판은 이와 반대로 체크와 상관없이 무조건 공개글입니다.

아래 사항을 순정 그누보드에 맞게 변경하세요~~~


1.

m/gb/bbs/write.php  에서

비밀글 여부 체크하는 로직을 왜 주석으로 막은건가요?


2. m/gb/bbs/write_update.php 에서


2-1. 

echo $wr_password;   를 노출시키는 이유가 뭔가요?


2-2. 

// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글은 사용일 경우에만 가능해야 함 

if (!$is_admin && !$board['bo_use_secret'] && $secret) { 


의 경우 원본 그누보드5에서는 아래와 같습니다.


// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글은 사용일 경우에만 가능해야 함

if (!$is_admin && !$board['bo_use_secret'] && (stripos($_POST['html'], 'secret') !== false || stripos($_POST['secret'], 'secret') !== false || stripos($_POST['mail'], 'secret') !== false)) {

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 122
© SIRSOFT
현재 페이지 제일 처음으로