컴퓨터 / Computer

그누보드에서 인기검색어 특정 글자 수 이상으로 보여주기

공유지기 0 105 10.26 23:59


mod_security를 적용한 시스템에서는 SQL_injection 공격을 막기 위해서 특수 문자를 배제시키는데, 이 와중에 입력한 키워드가 아래와 같이 나온다.


 a

 A

 8

 1

 http

 .

 .

 .


정상적인 단어 검색이면 좋겠지만 저런 식으로 철자만 나오면 인기검색어를 보여줄때 문제가 많이 생긴다. 그래서 두 가지 방법을 생각해 보았다.


 1) 입력할때 특정 길이 이하는 버리기

 2) 보여줄때 특정 길이 이상만 보여주기


그런데 1) 방법은 mod_security에서 끊어버리기 때문에 작업을 하기가 애매했다. 그래서 2)를 선택했다. 


 파일 : popular.lib.php

 위치 : /lib


위 파일을 연다. 약 15라인 쯤에 아래 sql 문이 있다.


 $sql = " select pp_word, count(*) as cnt from {$g5['popular_table']} where pp_date between '$date_gap' and '".G5_TIME_YMD."'  group by pp_word order by cnt desc, pp_word limit 0, $pop_cnt ";


위를 아래와 같이 바꾼다. 


 $sql = " select pp_word, count(*) as cnt from {$g5['popular_table']} where pp_date between '$date_gap' and '".G5_TIME_YMD."'  AND CHAR_LENGTH(pp_word) > 1 group by pp_word order by cnt desc, pp_word limit 0, $pop_cnt ";


즉 "AND CHAR_LENGTH(pp_word) > 1" 이 조건을 하나 더 넣어서 최소 2 글자 이상 있는 검색어만 노출시키도록 했다. 사이트 특징에 따라서 2나 3을 쓸 수도 있다.

Comments

번호 제목 글쓴이 날짜 조회 추천 비추
60 Linux 로그인 화면 전환 - 텍스트, 그래픽 공유지기 11.13 16 0 0
59 페이스북 소셜플러그인 댓글 달기 댓글+1 공유지기 11.10 74 0 0
열람중 그누보드에서 인기검색어 특정 글자 수 이상으로 보여주기 공유지기 10.26 106 1 0
57 게임 Tie Fighter 코드 공유지기 09.30 256 0 0
56 온라인 무료 PDF 변환 사이트 공유지기 09.14 397 0 0
55 SFTP Net Drive 공유지기 09.02 1776 0 0
54 이메일 클라이언트 천둥새(Thunderbird) 다중 프로필 설정하기 공유지기 08.30 2647 0 0
53 이메일로 오는 피싱 사례 댓글+1 공유지기 08.25 3817 0 0
52 이메일 서버 ip block 해제하기 공유지기 08.23 3702 0 0
51 Gmail 에서 imap 이용시 공유지기 08.20 3680 0 0
50 슬로우 쿼리 로그 설정 댓글+1 공유지기 08.16 4260 0 0
49 NetDrive 3 공유지기 08.12 3577 0 0
48 Document Reader in JavaScript 공유지기 08.12 3571 0 0
47 Weblate 공유지기 08.12 3439 0 0
46 RaiDrive 공유지기 07.28 3236 0 0
45 open-source music and video player 공유지기 07.15 3342 0 0
44 Convert DVD to AVI (Freeware) 댓글+1 공유지기 07.15 3274 0 0
43 Miro Video Converter 공유지기 07.08 3405 0 0
42 그누보드 4에서 그누보드 5로 이전하기 식탐자 06.25 3267 0 0
41 Free CD to MP3 Converter 공유지기 06.15 3375 0 0


불스윈 3in1 발수광택 유리세정크리너
칠성운영자
까칠이사무용크린골무
칠성운영자
현대오피스 열쇠보관함 72P
칠성운영자
현대오피스 열쇠보관함 32P
칠성운영자