【发布时间】:2013-12-14 21:53:28
【问题描述】:
这个问题很宽泛,但我会根据我的用例缩小范围。
我不在我的网站中使用表单,只是对 php 服务的 ajax 调用。基本上,我使用带有关联“点击”事件的程式化跨度,这些跨度继续执行 ajax 请求,将所有内容发布到服务器。
- 没有
<form>元素, - 没有
<input type="submit">元素。 - 如果 javascript 被禁用,那么...没有任何效果(无论它是否是一件好事不是本文的目的)
但我仍然想确保没有 smart$ss 机器人使用我的“表单”生成垃圾。
所以我的问题是:在这种情况下我需要验证码或类似的机器人保护吗?
根据给定的答案,这是我选择实施的解决方案:
html:
<form id="honeypotform" action="http://whatever.com">
<input type="text" id="formbody">
<input type="submit" id="submitbtn" value="Submit">
</form>
css:
#honeypotform { display: none; }
真实提交链接:
<span onclick="do();">Submit</span>
链接动作:
function do() {
if (formbody.value != "") return true;
/* ... */
}
几天后我会跟进这篇文章,对我的结果提供反馈。
【问题讨论】:
标签: javascript forms captcha bots protection