【发布时间】:2014-01-13 12:08:27
【问题描述】:
我有一个客户非常讨厌验证码,但它是必需的,否则提交的垃圾邮件太多。我有一个人推荐以下内容:
拥有您的网络表单,并且仅在数据标签 (html5) 中包含表单操作,然后在表单完成后提交表单处理该操作的操作。没有表单操作,没有机器人可以填写并提交和无需修改表单的外观或操作方式。
如果我有一个如下所示的表单:
<form action="/FormProcessv2.aspx?WebFormID=10090&OID={module_oid}&OTYPE={module_otype}&EID={module_eid}&CID={module_cid}" enctype="multipart/form-data" onsubmit="return checkWholeForm15174(this)" method="post" name="catwebformform15174">
如何修改操作 URL 以使用数据属性?它需要JS才能运行吗?这个想法如何运作?
注意:我搜索了谷歌,我找不到任何关于使用数据属性和操作的信息。我也在网站上使用 jQuery 2.0.3。
欢迎任何指导。
【问题讨论】:
-
是的,它需要 Javascript。但如果机器人足够聪明,可以绑定它,我不会感到惊讶。
-
@AndrewBarber - 我实际上发现许多机器人没有执行 javascript,因为它会减慢它们扫描页面的速度。你有一个例子说明这是如何工作的,或者可以给我指出一个有信息的地方吗?此外,如果我能做到这一点,我会对其进行测试,看看垃圾邮件提交的情况,并可以作为编辑或评论报告回来。
-
这个想法听起来不成熟。我不确定如何将操作隐藏在数据属性中,然后在提交表单时将其换出绕过机器人。大多数机器人可能会尝试自己提交表单,但也只需调用表单提交时执行的相同代码,这也将“解锁”您的隐藏操作。l
-
@AndrewBarber - 作为更新,垃圾邮件提交已从每天 50-100 次变为 0!虽然我知道这并不能完全证明它有助于防止我网站上的垃圾邮件。 =>
-
酷;听起来这绝对值得!
标签: javascript jquery forms custom-data-attribute