我有一个简单形式的网站,将输入作为推文发布到Twitter帐户。
没有安装验证码或任何类型的反垃圾邮件系统,因此垃圾邮件机器人像疯了一样发布虚假内容是合乎逻辑的。
现在,我想构建一个不需要任何验证码的验证。
这就是我一直在想的,我需要你诚实的意见。
如果机器人在不使用鼠标或键盘的情况下发布他们的东西(可能是通过使用某种生成的脚本),那么这实际上意味着他们无法对表单本身给予任何关注。
我的想法是创建一个简单的js条件,在不获得某种关注的情况下无法提交表单。
您如何看待这个? 还有其他类似的想法吗?
谢谢你!答案 0 :(得分:3)
发送未经验证的消息的想法本身听起来很不安全。不过,有几种方法可以最小化垃圾邮件。
例如,您可以实现honeypot变体,该变体会在提交表单中添加另一个字段,但其方式是对实时用户隐藏。机器人会错误地填写它,你可以拒绝服务器端的提交 - 不管你信不信,大多数评论垃圾邮件都来自爬虫,所以即使像这样的基本方法也可以大大减少提交的恶意内容的数量。
你认为大多数机器人发布“而不使用鼠标或键盘”是正确的 - 这样做比模拟客户端活动要简单得多。同样,您可以利用这个优势 - 添加一个JS填充的字段并在服务器端验证其内容。