2026, 새로운 도약을 시작합니다.

비밀글이 검색에서 검색되는 이유 채택완료

제목이 "나는 코끼리입니다"라는 비밀글이 있습니다.

물론 리스트에서는 "비밀글입니다"로 표시가 됩니다.

그런데 혹시나 해서 검색에 "코끼리"를 검색하니

"나는 코끼리입니다"라는 글이 표시됩니다.

누르면 권한이 없다고 나오긴 하는데...

코끼리로 검색해도 저 제목의 글은 표시가 안되는게 맞을 것 같은데...

혹시 이게 정상인가요?

아니면 설정을 잘못한 것일까요?

답변 2개

채택된 답변
+20 포인트

그누보드에서는 해당 로직('비밀글은 검색결과에서 제외')이 적용이 되어 있지 않습니다.

해당 로직을 적용하려면 코드를 수정해야 합니다.

* /lib/common.lib.php

get_sql_search() 
return $str; 
마지막 코드 위 라인에 추가

Copy


$str .= " and INSTR(wr_option, 'secret') = 0 ";

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

[code]
// 검색 구문을 얻는다.
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')
{
global $g5;

$str = "";
if ($search_ca_name)
$str = " ca_name = '$search_ca_name' ";

$search_text = strip_tags(($search_text));
$search_text = trim(stripslashes($search_text));

if (!$search_text && $search_text !== '0') {
if ($search_ca_name) {
return $str;
} else {
return '0';
}
}
[/code]
여기 인 것 같은데...
마지막 코드 위 라인이 어디를 말하나요?
function get_sql_search() {
~
[여기에 추가]
return $str;
}
저렇게 되면 해당 글에 대해 권한이 있는 사람도
검색으로 검색이 안되는 형태가 되나요?
권한이 있는 사람도
검색으로 검색이 안되는 형태가 됩니다.
생각해 본 코드입니다. 안될 수도 있습니다.

[code]
function get_sql_search()
{
global $g5, $member, $is_admin; // 변경 부분

~

//추가 부분
if (!$is_admin) {
if ($member['mb_id'])
$str .= " and (INSTR(wr_option, 'secret') = 0 OR mb_id = '{$member['mb_id']}') ";
else
$str .= " and INSTR(wr_option, 'secret') = 0 ";
}

return $str; // 기존 마지막 코드
}
[/code]
수정을 해 보았는데, 되지 않는군요.
그래도 친절한 답변 너무 감사드립니다.

댓글을 작성하려면 로그인이 필요합니다.

비밀글이라고 검색에 베외하는 것은 없을 것입니다.

열람권한이 있는 사람도 검색을해서 볼 수 있을것 같습니다 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

설령 저걸 적용을 하게 되면
비밀글은 권한이 있는 사람도 검색을 못한다는 뜻이 될까요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고