DB에 저장되는 검색어를 제외시키고 싶을 때 어떻게 해야 하는가요? 정보
DB에 저장되는 검색어를 제외시키고 싶을 때 어떻게 해야 하는가요?- RedRiverFisher 자기소개 아이디로 검색 회원게시물
- 1,549
본문
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 말고 다른 것으로 데이타베이스에 저장이 되는지, 혹 다른 프로그램이 있는지, 위 구문에 문제가 없는지, 다른 분들은 어떻게 이런 검색어들을 해결하고 있는지 궁금합니다.
좋은 방법이 있으면 알려주시면 좋겠습니다.
감사합니다.
예전에 이런 검색어가 데이타베이스에 저장되지 않게 하기 위하여 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 말고 다른 것으로 데이타베이스에 저장이 되는지, 혹 다른 프로그램이 있는지, 위 구문에 문제가 없는지, 다른 분들은 어떻게 이런 검색어들을 해결하고 있는지 궁금합니다.
좋은 방법이 있으면 알려주시면 좋겠습니다.
감사합니다.
댓글 전체
그냥 search 값이 byte로 1이상 검색 되도록 하는게 좋을듯 합니다.
어차피 한글은 2byte니...
어차피 한글은 2byte니...