我有一个网站,我在几乎每一页都设计了一个联系表格。这个表格最近受到了很多垃圾邮件的攻击,所以我想添加一个验证码 - 但谷歌的免费reCaptcha糟透了,所以我想用一个更好的。
我发现了这个并希望使用它:
HTML
<form action="php/contactus.php" method="post" name="contact_form" id="contact_form">
<h2>Contact Us</h2>
<br>
<h5>Full Name *</h5>
<input type="text" name="name" class="text" placeholder="John Doe" onfocus="if (this.value==this.defaultValue) this.value='';" onblur="if (this.value=='') this.value=this.defaultValue;" required />
<h5>Association Name *</h5>
<input type="text" name="association" class="text" placeholder="HOA Name" onfocus="if (this.value==this.defaultValue) this.value='';" onblur="if (this.value=='') this.value=this.defaultValue;" required />
<h5>Email Address *</h5>
<input type="text" name="email" class="text" placeholder="youremail@email.com" onfocus="if (this.value==this.defaultValue) this.value='';" onblur="if (this.value=='') this.value=this.defaultValue;" required />
<h5>Phone Number *</h5>
<input type="text" name="phone" class="text" placeholder="555-555-5555" onfocus="if (this.value==this.defaultValue) this.value='';" onblur="if (this.value=='') this.value=this.defaultValue;" required />
<h5>Message *</h5>
<textarea name="message" rows="6" onfocus="if (this.value==this.defaultValue) this.value='';" onblur="if (this.value=='') this.value=this.defaultValue;" required>Our HOA Concerns Are...</textarea>
<h5 class="captchaclass">Captcha *</h5>
<div class="submit">
<input type="image" src="images/button-submit_s1.jpg" alt="Submit" value="Submit" />
</div>
</form>
JAVASCRIPT
<script type="text/javascript">
$(function(){
var mathenticate = {
bounds: {
lower: 5,
upper: 50
},
first: 0,
second: 0,
generate: function()
{
this.first = Math.floor(Math.random() * this.bounds.lower) + 1;
this.second = Math.floor(Math.random() * this.bounds.upper) + 1;
},
show: function()
{
return this.first + ' + ' + this.second;
},
solve: function()
{
return this.first + this.second;
}
};
mathenticate.generate();
var $auth = $('<input type="text" name="auth" required />');
$auth
.attr('placeholder', mathenticate.show())
.insertAfter('h5[class="captchaclass"]');
$('#contact_form').on('submit', function(e){
e.preventDefault();
if( $auth.val() != mathenticate.solve() )
{
alert('wrong answer!');
}
});
})
</script>
我试图让这个在这个页面上工作(http://wmdouglas.org/apex.html),但无论我尝试什么,它都无法正常工作。验证码显示并且需要在提交之前完成,但我可以输入错误的答案,然后它仍然会转到我的成功页面。
发生了什么事?