2010-12-23 109 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

你可以过滤掉不适合你的内容搜索。这样,拼写错误(以及总是发生的异域搜索)也不会在“最近的搜索”中显示。