2010-12-23 134 views
0

我的應用程序http://www.tyro.in有用戶搜索時的搜索功能,該查詢將出現在最近的搜索區域。我的搜索表單使用GET方法。我認爲垃圾郵件發送者搜索垃圾郵件詞,並且垃圾郵件詞直接發佈在我的網站上。我不想將我的表單方法從GET更改爲POST。請提出任何方法來識別和防止垃圾郵件查詢。如何防止垃圾郵件搜索

預先感謝您。

+1

不顯示最近的搜索? – 2010-12-23 08:00:08

回答

0

試試這個:

一個隱藏的輸入字段添加到您的搜索表單,並且還能夠爲用戶的會話。發佈表單時,將輸入字段值與會話進行匹配。垃圾郵件搜索將會丟失這個值,因爲他沒有會話。

$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"> 

的GET,然後進行:

if($_GET["secret"] == $_SESSION["hidden"]) { 
    //continue search 
} 
0

你可以過濾掉不適合你的內容搜索。這樣,拼寫錯誤(以及總是發生的異域搜索)也不會在「最近的搜索」中顯示。