전체검색, 게시판내의 검색에서 아이디 검색 제외하기

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
전체검색, 게시판내의 검색에서 아이디 검색 제외하기

QA

전체검색, 게시판내의 검색에서 아이디 검색 제외하기

본문

전체검색, 게시판내의 검색에서 아이디(mb_id) 검색 제외하려고 아래 2가지를 했습니다.

1) lib/get_data.lib.php 에서 function get_board_sfl_select_options($sfl), function get_qa_sfl_select_options($sfl) 함수에서 mb_id 관련된 부분 삭제

2) skin/search 에서도 mb_id관련 부분 삭제

 

를 했습니다. 그런데 주소창에서 &sfl=wr_subject 대신에 &sfl=mb_id 로 바꾸고 &stx= 에 아이디를 넣으면 검색이 되더라구요.

검색창에 &sfl= 에 아이디를 넣어도 검색이 되지 않게 하려면 어떻게 해야할까요?

이 질문에 댓글 쓰기 :

답변 2

lib/common.php의 get_sql_search 함수에서 

case "mb_id" :
                case "wr_name" :
                    $str .= " $field[$k] = '$s[$i]' ";
                    break;

부분이 있을텐데

mb_id 부분이랑 wr_name을 같이 하지 말고 그냥 따로해서

$str .= " 1 = 0 " 으로해서 검색을 못하게 하면 되실거 같습니다. 메뉴에서 빼셨다니 직접 검색을 막는거면 해당 정도만 해도 되지 않을까 싶네요

답변 감사합니다. 아래와 같이 했는데도 주소창에서 mb_id나 wr_email 으로 변경을 하면 검색이 되어서요.
        // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
        for ($k=0; $k<count($field); $k++) {
            $str .= $op2;
            switch ($field[$k]) {
                case 'wr_name' :
                    $str .= "$field[$k] = '$s[$i]'";
                    break;
                case 'wr_subject' :
                case 'wr_content' :
                    if (preg_match("/[a-zA-Z]/", $search_str))
                        $str .= "INSTR(LOWER({$field[$k]}), LOWER('{$search_str}'))";
                    else
                        $str .= "INSTR({$field[$k]}, '{$search_str}')";
                    break;
                default :
                    //$str .= "1=0"; // 항상 거짓
if (preg_match("/[a-zA-Z]/", $search_str)) $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
else $str .= "INSTR($field[$k], '$search_str')";
                    break;
            }
            $op2 = " or ";
        }

sir.kr에서는 주소창에서 변경해서 검색하는 부분을 막아 놓은거 같은데,
그누보드 데모 또는 최신 그누보드에서도 주소창에서 변경을 하면 검색이 됩니다.
아래처럼 sfl 에 wr_email을 입력을 해도 검색이 됩니다.
https://demo.sir.kr/gnuboard5/bbs/search.php?sfl=wr_email%7C%7Cwr_content&sop=and&stx=test

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

회원로그인

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