2012-02-06 163 views
0

是否有可能使用jQuery禁用表单元素的提交按钮作为防止垃圾邮件机器人的方式?使用jQuery代替ReCaptcha?

例如要求用户添加2 + 2?

如果表单字段的值为4,则启用提交按钮。

它会有帮助吗?还是垃圾邮件机器人很容易能够再见这样的事情?

+0

你是否有在所有的外部网站的任何控制?如果不是,那么垃圾邮件机器人通常会直接提交给服务器,因此您可以做的不多。 – 2012-02-06 20:50:58

回答

3

机会不大,垃圾邮件不会首先执行禁用提交按钮的JavaScript。如果您无法控制表单的目的地,那么您可以做的不多,以防止此类垃圾邮件。

+0

请随时阐述,downvoter。 – ceejayoz 2012-02-06 21:29:15

+0

当然 - _“如果您无法控制表单的目的地,那么您可以做的很多事情来阻止这类垃圾邮件。”_ __对我来说,这是错误的.__请参阅我的建议。 – paislee 2012-02-06 21:57:44

+1

垃圾邮件发送者只需要用解决方案解决一次验证码 - 一旦他们拥有了表单,他们可以尽可能多地发布。就像我说的,“不多”。 – ceejayoz 2012-02-06 22:03:42

1

对于垃圾邮件,问题不在于提交按钮是可见或可点击的。这对垃圾邮件没有任何影响。 重要的是inputaction的形式是公开的,使得可以以编程方式向服务器发出有效请求。真正没有保证只使用客户端技术防止垃圾邮件的方法。

这里有一个建议:设置验证码与自己的服务器将发回的HTML表单(例如用AJAX)。表单知识在您的服务器上是安全的,直到请求者被称为人类(通过CAPTCHA)。

更多的想法

+0

谢谢你的建议,我一直在考虑这个问题,但不幸的是,我不太喜欢PHP和/或AJAX等等......我大部分只是前端,甚至我的大部分jQuery都是用于动画的。我希望我可以通过一个简单的解决方案来弄明白我的方式,但显然我已经超出了我的深度(抨击机器人!)。 – Stefan 2012-02-06 21:10:05

+0

没问题。只需要清楚,上面的建议就像访问表单服务器一样安全。 – paislee 2012-02-06 21:55:33