我有一个网站向用户支付在缩短链接上展示广告的费用。我最近有人试图通过向网站发送虚假流量来增加收入。它不仅破坏了我的网站(即减慢速度),而且还扭曲了我的谷歌分析数据。
这里唯一的解决方案真的是部署 WAF,还是滚动我自己的基于 Rack 的请求检查代码?我不确定这在 Heroku/Ruby on Rails 环境中如何工作或最佳实践。
有人有这方面的经验或有什么想法吗?
我有一个网站向用户支付在缩短链接上展示广告的费用。我最近有人试图通过向网站发送虚假流量来增加收入。它不仅破坏了我的网站(即减慢速度),而且还扭曲了我的谷歌分析数据。
这里唯一的解决方案真的是部署 WAF,还是滚动我自己的基于 Rack 的请求检查代码?我不确定这在 Heroku/Ruby on Rails 环境中如何工作或最佳实践。
有人有这方面的经验或有什么想法吗?
如果请求的发送速度比普通访问者高得多,那么rack-attack gem 可能对您非常有用。
它允许限制请求,因此如果用户在一段时间内以高于允许的频率访问某个页面,您可以(暂时)阻止任何进一步的请求。
来自 gem 的自述文件:
用于阻止和限制滥用请求的机架中间件
Rack::Attack 是一个机架中间件,用于保护您的 Web 应用程序免受不良客户端的侵害。它允许基于请求的任意属性将白名单、黑名单、限制和跟踪。
请务必在安全范围内定义规则,这样您的应用程序就不会阻止没有向您的网站发送垃圾邮件的普通用户。