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

특정 단어 전체검색 쿼리로 인한 과부하 채택완료

237358128_1676959150.9728.png

사이트는 그누보드 원본이 그렇듯 . 점 하나로 검색이 안됩니다.

정상적으로 검색을 시도하면 최소 두단어 이상 입력하라고 경고가 뜨고 안되는데,,

공격이 들어온 것인지 . 점 하나로 검색을 지속적으로 시도합니다.

그외에도 몇개 단어로 같이 해서 전체검색을 이용한 과부하를 유도하는 것이 확인되어서요...

이런 경우 저런 행위를 어떻게 막는 것이 바람직한지 문의 드립니다.

답변 3개

채택된 답변
+20 포인트

http://[사이트주소]/bbs/search.php?sfl=wr_subject||wr_content&sop=and&stx=aaa

식으로 직접 URL 을 입력하면, '두글자 이상' 자바 스크립트 체크를 거치지 않게 됩니다.

* /bbs/search.php 에서 글자수 체크를 하는 방법이 있습니다.

if (mb_strlen($stx, 'utf-8') < 2)

  alert('두글자 이상 입력해 주세요.');

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

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

해당 문제를 방지하기 위해서는 먼저 사용자가 접근하는 쿼리문의 수를 제한해야 합니다. 쿼리문 제한을 통해 사용자가 과도하게 많은 쿼리를 보내는 것을 방지할 수 있습니다. 또한, 검색 쿼리에 대해 단어 개수를 제한하는 방법도 있습니다. 검색 쿼리에 대해 단어 개수를 제한하면 사용자는 과도하게 단어를 많이 사용하여 과부하를 일으킬 수 없습니다. 또한, 보안 솔루션을 사용하여 전체 검색을 방지하거나 사용자의 IP 주소를 기반으로 사용자의 접근을 제한하는 방법도 있습니다. 또한, 사이트의 성능을 개선하기 위해 캐시 및 최적화 기능을 사용할 수도 있습니다.

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

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

1. 아이피 확인 : 동일 아이피 또는 동일 아이피 대역 분석 후 차단

2. 검색 차단 : 캐릭터 하나로 이루어진, 검색으로써 의미없는 글자 서버 차단

3. 검색 요청 차단 : 한 클라이언트에서 짧은 시간안에 많은 검색 요청에 대한 서버 차단

정도의 방어방법 있을것 같습니다.

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

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

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

로그인
🐛 버그신고