【问题标题】:Protecting Froms From Scriptable Spamming保护表单免受可编写脚本的垃圾邮件
【发布时间】:2011-02-25 13:38:47
【问题描述】:

所以我有一个可以创建帐户的表单,现在创建帐户的过程是通过调用 javascript REST API。我在想以编程方式破解它可能真的很容易,因为他们需要做的就是查看 javascript 以找出垃圾邮件的 url,并且在 PHP 脚本中进行处理可能更安全。然后我虽然很好,如果我不通过 javascript 来做,他们可以只看表单来查找 URL 一样容易。该表单将仅处理 POST 数据,但不确定这是否足够以及我是否通过 javascript 或 PHP 处理它是否重要。

防止某人以编程方式向表单发送垃圾邮件的最佳方法是什么(即防止他们编写服务器(如 PHP)或客户端(如 javascript)代码来向处理脚本发送垃圾邮件)。

【问题讨论】:

  • 为了使您的表单首先工作,客户需要拥有提交表单所需的所有信息。因此,您无法阻止某人获取此信息并在脚本中使用它。你能做的最好的就是某种人类识别策略,比如 kjy112 建议的 Captcha。
  • 这是假设您已经对必填字段进行了所有客户端和服务器端验证,显然。还有其他新的“验证码”需要用户观看视频,但我认为这对你正在做的事情来说有点太多了。

标签: php javascript forms spam-prevention


【解决方案1】:

一种方法是使用验证码将机器人过滤掉reCaptcha,但它不是 100% 保护

【讨论】:

    【解决方案2】:

    使用 Captcha 可能是第一种方法: Google's Version

    其次,我会在服务器端进行数据检查,并可能进行电子邮件验证,如果未验证电子邮件,我将有一个 cron 来清除表中没有电子邮件验证的行。

    使用这两种方法,您应该避免大部分情况。

    【讨论】:

      【解决方案3】:

      reCAPTCHA。这很容易。

      您可以通过注册您的网站 URL 来获取密钥对。使用该密钥在您的表单中生成 reCAPTCHA 图像/文本框。仅当条目与图像中显示的文本匹配时,您的表单数据才会发布并添加到数据库中,否则不会(这是您必须保留的服务器端检查)。您将在 Google 中获得大量相关代码:)

      另一种技术,就像现在大多数网站一样,是通过电子邮件向用户发送帐户激活链接。仅当单击该激活链接时才会创建一个帐户。为此,您还可以设置过期时间(例如 24 小时)。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-16
        • 2017-11-06
        • 2012-01-01
        • 2012-02-21
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多