Bil*_*llK 33 html javascript spam-prevention
我想在我的网站上添加一个简单的联系表单,以便客户可以轻松与我联系.
<form>
NAME
<input type='text' name='name' />
EMAIL
<input type='text' name='email' />
MESSAGE
<textarea name='message' />
<input type='submit' />
</form>
Run Code Online (Sandbox Code Playgroud)
此表单只会通过电子邮件向我发送客户消息.
但是,我也希望减少(不是,我不是说消除但至少减少),垃圾邮件.
我已经研究过使用CAPTCHA,但最终,我不想阻止客户填写额外的信息.
我可以在我的联系表单中使用一个简单的垃圾邮件预防/减少方法的想法.
Wim*_*Wim 60
一个非常简单的技巧,我一直以惊人的成功率使用这个:提供一个文本字段,隐藏起来的人类用户style="display: none",但有一个诱人的名字,如email.大多数机器人会在这个领域填写一些东西,但人类看不到它,所以他们不会.在服务器上,只需确保该字段为空,否则将提交视为垃圾邮件.
除CAPTCHA类型用户确认之外的唯一(客户端)方式是动态地编写整个事物.很多(但不是全部)机器人可能会忽略动态内容.例如
document.write("<"+"form>"
+" NAME "
+" <"+"input type='text' name='name' /> "
+"EMAIL "
+"<"+"input type='text' name='email' /> "
+"MESSAGE "
+"<"+"textarea name='message' /> "
+"<"+"input type='submit' /> "
+"<\/form> ");
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您想做一个完整的前端解决方案,最近我已经成功了,将form action属性保留为空白,并通过$(document).ready函数填充它。大多数垃圾邮件浏览器都使用禁用了JavaScript的浏览器,或者正在寻找隐藏字段以避免被检测到。
例:
您的html将是:
<form method="POST" action="" id="contact-form">
Run Code Online (Sandbox Code Playgroud)
您可以在该页面的任何位置使用它进行填充。
<script>
$(document).ready(function(){
$("#contact-form").attr("action", "/yourMailScript.cgi");
});
</script>
Run Code Online (Sandbox Code Playgroud)
没有JavaScript的漫游器浏览器将不会执行表单操作,并且在提交时会收到404。具有正常浏览器的任何人(除非由于偏执狂而禁用了JS)都将获得正常行为。
| 归档时间: |
|
| 查看次数: |
16918 次 |
| 最近记录: |