我想到了一种简单的方法来保护我的表单免受垃圾邮件机器人的侵害。如果您认为足够,我想与你们核实一下。它只是一个联系表格,所以我不需要极高的安全性,这样电子邮件地址就不会被发送垃圾邮件。
假设我像这样构建表单:
<div id="unlock">Click 3 times to unlock the form</div>
<form action="url">
<input type="email" />
<textarea></textarea>
</form>
然后用一个简单的 javascript/jQuery 检查 #unlock 是否被点击了 3 次。如果是这种情况,我只需将 name 属性添加到表单元素,如下所示:
$('input[type=email]').attr('name', 'senderEmail');
我所做的假设是机器人将无法正确提交表单,因为它不知道表单元素的名称。当然我会检查服务器上的表单值是否正确,如果不正确,则不会提交表单。这个假设正确吗?我想可以做同样的事情,而是将 action 属性添加到表单标签?!这样机器人不应该知道接收 URL?!
就像我说的,我没有保护任何超级重要的东西,但我只想阻止“通用”垃圾邮件机器人。