【问题标题】:Malicious Bots waking up heroku free app and using up all dyno hours恶意机器人唤醒 heroku 免费应用程序并耗尽所有测功时间
【发布时间】:2019-11-08 11:10:15
【问题描述】:

我在 heroku 上托管了一个应用程序,在过去 5 年中,它在免费测功时间上运行良好。有一个用户,一整天都没有太多用处。

在过去的几个月里,我们似乎成为了创建虚假帐户的机器人的目标。我们现在收到了很多这样的机器人,它们经常唤醒我们的应用程序,以至于消耗了我们的免费测功时间。

有人知道如何摆脱它们吗?我曾尝试使用 invisible_captcha,但这似乎没有帮助。

【问题讨论】:

    标签: ruby-on-rails heroku bots


    【解决方案1】:

    你应该考虑使用 RackAttack https://github.com/kickstarter/rack-attack

    这是一个允许您阻止/允许请求的中间件。 例如,如果他们每次新注册都使用相同的电子邮件域,则您只能按小时接受该域的十个注册(因为它不是一个大网站),直到他们平静下来。

    或者,如果他们来自同一个地方,你可以通过他们的 IP 限制这个国家的请求

    编辑: 如果你根据IP地址检查国家,dyno会被唤醒(因为你会调用外部服务来获取信息),所以在这种情况下这不是一个好的解决方案

    【讨论】:

    • 但这不会唤醒测功机吗?
    • @Eyeslandic 在此页面 (heroku.com/dynos) 上,他们说应用程序接收到 Web 请求,然后将请求传递给随机的 Web dyno。没关系,因为中间件会在之前执行,而 RackAttack 会“杀死”错误请求
    • @escanxr 我很确定它仍然会唤醒测功机并收费,红宝石代码必须在某个地方运行
    【解决方案2】:

    简单的解决方案: 如果您只有一个用户,请考虑将应用程序托管在不会被抓取的秘密子域上。每次遇到此类问题时,您只需更改子域并通知您的用户即可。

    更复杂的解决方案: 使用cloudflare 之类的解决方案,防止不必要的流量进入应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多