3

我有下面的效果很好,但对垃圾邮件机器人开放。我想放入蜜罐,而不是验证码。下面的代码适用于名称、电子邮件、消息的验证,但我无法让它与蜜罐一起使用。

谁能看看“蜜罐”代码并告诉我如何修复它?

我希望表单提供一个 $success2 = "No Spamming allowed" ,就像表单已提交,但实际上并未提交表单。

谢谢

表格:

<form id="contactform" action="send2.php" method="post"><div id="success"></div><div id="error"></div>
<label for="name">Name:</label><input type="text" id="name" name="name"/>
<label for="email">Email:</label><input type="text" id="email" name="email"/>
<label for="message">Message:</label><textarea id="message" name="message" rows="12" cols="20"></textarea>
<label id="robot">Are you a robot?</label><input type="text" name="robot" id="robot"> 
<input type="submit" value="Send your message" id="send" />
</form>

PHP:可以在这里找到:http: //goviewmy.com/contact/showcode/

抱歉,但我无法在这个问题中发布 PHP 代码,所以我附上了一个链接。

谢谢

4

1 回答 1

12

如果蜜罐有一个听起来合法的字段名称,它们的效果最好,它们也应该使用 javascript 隐藏以在页面加载后更改 css。(大多数)机器人没有启用 javascript,因此它们无法处理不应填写此字段的情况。

我使用这样的东西:

<div class='req'>
    <label for='website'>Leave blank</label>
    <input type='text' name='website'>
</div>

用jquery隐藏它:

$(document).ready(function(){
    $(".req").hide();
});

如果该字段填写了类似这样的内容,则拒绝它服务器端

if($_POST['website'] != ''){
    echo "It appears you are a bot!";
}
else{
//process the rest of the form
}
于 2013-07-29T17:30:29.347 回答