我的应用http://www.tyro.in在用户搜索时具有搜索功能,该查询将出现在最近的搜索区域中。我的搜索表单使用GET方法。我认为垃圾邮件发送者会搜索垃圾邮件,垃圾邮件会直接发布在我的网站上。我不想将我的表单方法从GET更改为POST。请建议任何方法来识别和防止垃圾邮件查询。
提前谢谢。
答案 0 :(得分: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
}
答案 1 :(得分:0)
您可以过滤不符合您内容的搜索。这样,拼写错误(以及经常发生的异国情调搜索)也不会在“最近搜索”下显示。