【问题标题】:AS3 anti bot form script?AS3 反僵尸表单脚本?
【发布时间】:2010-11-01 09:32:37
【问题描述】:

我写了一个 AS3 脚本,基本上这个脚本只是一个允许用户输入他们的电子邮件地址的表单。在启动该网站几个月后,我发现我收到了很多 BOT 垃圾邮件发送者。我知道,防止 BOT 的一种方法是使用 recaptcha 的东西,除了 recaptcha,还有什么方法可以防止 bot 提交我的 AS3 表单??

【问题讨论】:

    标签: actionscript-3 forms bots


    【解决方案1】:

    如何在表单中添加额外的输入,然后用 CSS 样式隐藏它。

    然后,如果该字段被填写,您可以很确定它是一个机器人。

    • 机器人通常不会处理 CSS 规则,因此它们会看到文本输入并填写它
    • 大多数人在浏览时都启用了 CSS,因此他们不会看到文本输入,而且它会是空白的

    对于禁用了 CSS 的合法用户,您可以在文本输入中添加一个标签(也可以通过 css 隐藏),告诉他们输入什么。

    例如在表单中添加类似的内容

    <div style="display:none">
    <label for="hidden-textbox">What is 10 plus 5?</label>
    <input type="text" id="hidden-textbox" name="hdn-txt" maxlength="20"/> 
    </div>
    

    当您处理表单提交时:

    • 文本输入中没有任何内容是合法用户
    • 您告诉他们在标题中输入的值是合法用户
    • 空以外的任何值或您指定的值都是垃圾邮件,您可以丢弃它

    【讨论】:

    • 我的表单在flash中,我可以添加那些css内容吗?
    • 抱歉 - 我似乎没有正确回答您的问题。我怀疑如果整个表单都在 flash 中,我的建议是否会起作用,因为如果表单是纯 html,flash 会处理演示文稿而不是 css。如果这对您的网站可行,也许您可​​以考虑将您的表单转换为纯 html?
    【解决方案2】:

    除了 Nils 的出色回答外,请参阅 this previous Stack Overflow question,了解对当前流行的一些反机器人措施的广泛调查。

    另外,我不确定您是否要使用 AS3,因为它既是服务器端,也可能比您需要的更复杂。不过,如果您使用 Flash 应用程序提交表单(而不是将表单信息嵌入到 HTML 中),那么机器人将更难解析和提交。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 2012-03-20
      相关资源
      最近更新 更多