我在heroku上托管了一个应用程序,该应用程序在过去5年中在免费的dyno小时上表现良好。只有一个用户,而且整天没有多大用处。
截至最近几个月,我们似乎已成为创建伪造帐户的机器人的目标。我们现在有很多这样的机器人,以至于他们频繁地唤醒我们的应用程序,以至于它消耗了我们的免费动态时间。
有人知道如何摆脱他们吗?我曾尝试使用invisible_captcha,但这似乎无济于事。
答案 0 :(得分:2)
您应该考虑使用RackAttack https://github.com/kickstarter/rack-attack
这是一个中间件,允许您阻止/允许请求。 例如,如果他们为每个新注册使用相同的电子邮件域,则每小时只能接受该域的十个注册(因为这不是一个大网站),直到他们平静下来。
或者,如果它们来自同一地方,则可以通过其IP限制该国家/地区的请求
编辑: 如果您根据IP地址检查国家/地区,则测功机将被唤醒(因为您将致电外部服务来获取信息),因此在这种情况下,这不是一个好的解决方案
答案 1 :(得分:0)
简单的解决方案: 如果只有一个用户,请考虑将应用程序托管在一个不会被抓取的秘密子域上。而且每次遇到这样的问题时,您都可以更改子域并通知您的用户。
更复杂的解决方案: 使用类似cloudflare的解决方案,并防止不必要的流量进入应用程序。