내 응용 프로그램 http://www.tyro.in에는 사용자가 검색 할 때 검색 기능이 있습니다.이 쿼리는 최근 검색 영역에 나타납니다. 내 검색 양식은 GET 메소드를 사용합니다. 나는 스패머가 스팸 단어를 검색하고 스팸 단어가 내 사이트에 직접 게시된다고 생각합니다. 내 양식 메서드를 GET에서 POST로 변경하고 싶지 않습니다. 스팸 쿼리를 식별하고 방지하는 방법을 제안하십시오.스팸 검색을 방지하는 방법
미리 감사드립니다.
내 응용 프로그램 http://www.tyro.in에는 사용자가 검색 할 때 검색 기능이 있습니다.이 쿼리는 최근 검색 영역에 나타납니다. 내 검색 양식은 GET 메소드를 사용합니다. 나는 스패머가 스팸 단어를 검색하고 스팸 단어가 내 사이트에 직접 게시된다고 생각합니다. 내 양식 메서드를 GET에서 POST로 변경하고 싶지 않습니다. 스팸 쿼리를 식별하고 방지하는 방법을 제안하십시오.스팸 검색을 방지하는 방법
미리 감사드립니다.
이 시도 :
는 사용자의 세션으로도 검색 폼에 숨겨진 입력 필드를 추가합니다. 양식이 게시되면 입력 필드 값을 세션과 일치시킵니다. 스팸 검색에는 세션이 없으므로이 값이 누락됩니다. 그런 다음 GET 후
$hiddenvalue= md5(rand(0,1000));
//only fill session if we're not coming from a search action
if(count($_GET) == 0) {
$_SESSION["hidden"]= $hiddenvalue;
}
<input type="hidden" name="secret" value="$hiddenvalue">
:
if($_GET["secret"] == $_SESSION["hidden"]) {
//continue search
}
당신은 귀하의 콘텐츠에 맞지 않는 검색을 필터링 할 수 있습니다. 이렇게하면 오타 (항상 발생하는 이국 검색)는 "최근 검색"에도 표시되지 않습니다.
최근 검색어가 표시되지 않습니까? –