我的应用程序http://www.tyro.in有用户搜索时的搜索功能,该查询将出现在最近的搜索区域。我的搜索表单使用GET方法。我认为垃圾邮件发送者搜索垃圾邮件词,并且垃圾邮件词直接发布在我的网站上。我不想将我的表单方法从GET更改为POST。请提出任何方法来识别和防止垃圾邮件查询。如何防止垃圾邮件搜索
预先感谢您。
我的应用程序http://www.tyro.in有用户搜索时的搜索功能,该查询将出现在最近的搜索区域。我的搜索表单使用GET方法。我认为垃圾邮件发送者搜索垃圾邮件词,并且垃圾邮件词直接发布在我的网站上。我不想将我的表单方法从GET更改为POST。请提出任何方法来识别和防止垃圾邮件查询。如何防止垃圾邮件搜索
预先感谢您。
试试这个:
一个隐藏的输入字段添加到您的搜索表单,并且还能够为用户的会话。发布表单时,将输入字段值与会话进行匹配。垃圾邮件搜索将会丢失这个值,因为他没有会话。
$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
}
你可以过滤掉不适合你的内容搜索。这样,拼写错误(以及总是发生的异域搜索)也不会在“最近的搜索”中显示。
不显示最近的搜索? – 2010-12-23 08:00:08