DB에 저장되는 검색어를 제외시키고 싶을 때 어떻게 해야 하는가요? > 그누4 질문답변

그누4 질문답변

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

DB에 저장되는 검색어를 제외시키고 싶을 때 어떻게 해야 하는가요? 정보

DB에 저장되는 검색어를 제외시키고 싶을 때 어떻게 해야 하는가요?

본문

phpMyAdmin 으로 'g4_popular' 테이블을 보면 위 그림처럼 이상한 깨진 글자와 'j' ,'f' , 'm' , '입니' 등 검색어가 올라옵니다.  그리고 홈페이지 첫 검색어순위에서 2-3일만에 1위에서 10위까지를 모두 차지해서 phpMyAdmin 으로  주기적으로 삭제하여 주는 작업을 하고 있습니다. 검색어를 입력하는 아이피를 추적하여 보니 구글 등 검색회사이던데 아이피를 막아 검색로봇이 못오게 하는 것도 그렇고, 이 문제를 해결하기가 정말 어렵습니다.

예전에 이런 검색어가 데이타베이스에 저장되지 않게 하기 위하여 g4/bbs/search.php 의 내용에 아래와 같은 내용을 추가해 주었는데도 불구하고 걸러지지않고 계속 검색어들이 올라옵니다.

=========  g4/bbs/search.php ============================================

~ 앞에 생략 ~

        switch ($search_str)
            {
                case "J" :  break;
                case "F" :  break;
                case "j" :  break;
                case "f" :  break;
                case "j " :  break;
                case "f " :  break;
                case "J " :  break;
                case "F " :  break;
                case "m" :  break;
                case "M" :  break;
                case "au" :  break;
                case "bb" :  break;
                case "be" :  break;
                default :
                    // 인기검색어
                    //$block = "/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/";
                    $block = "/^[0000-9999]{1,}-[00-12]{1,}-[00-31]{1,}$/";
                    if (preg_match($block, $stx)) { }
                    else {
                    $sql = " insert into $g4[popular_table] set pp_word = '$search_str', pp_date = '$g4[time_ymd]', pp_ip = '$_SERVER[REMOTE_ADDR]' ";
                    sql_query($sql, FALSE);
                    }
                    break;
            }

~ 이하 생략 ~

==============================================================================


g4/bbs/search.php 말고 다른 것으로 데이타베이스에 저장이 되는지, 혹 다른 프로그램이 있는지, 위 구문에 문제가 없는지, 다른 분들은 어떻게 이런 검색어들을 해결하고 있는지 궁금합니다.

좋은 방법이 있으면 알려주시면 좋겠습니다.

감사합니다.
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로