gpt4 book ai didi

ruby-on-rails - 带有 nginx ddos​​ 保护的 Ruby on rails

转载 作者:行者123 更新时间:2023-12-04 16:27:17 40 4
gpt4 key购买 nike

我有 rails3 + nginx 堆栈。

几天前是 ddos​​ 攻击,有很多 GET 请求,类似于:

GET /?aaa2=bbbbbbb&ccc=1234212
GET /?aaa1=bbbbbbb&ccc=4324233

首先我添加到应用程序 Controller 规则:
before_filter :ddos_check
def ddos_check
params.each do |param|
if (!param[1].nil? && (param[1].is_a?String) && !param[1].scan(/bbb/sim).blank?)
redirect_to 'http://google.com/'
return
end
end
end

它保护 Controller 免受繁重的数据库调用。

是否有任何可以使用特定规则过滤 ddos​​ 消息的 gem 或 nginx 模块?

最佳答案

您应该考虑使用像 Rack::Attack 这样的中间件。 .由于它在应用程序堆栈中较低,它会比 Rails 更早更快地过滤掉恶意请求。

Rack middleware for blocking & throttling abusive requests

Rack::Attack is a rack middleware to protect your web app from bad clients. It allows whitelisting, blacklisting, throttling, and tracking based on arbitrary properties of the request.



如果您看一下 gem 自述文件,就会有很好的示例如何处理您的案例。
但是请记住,如果攻击者至少有点聪明,他们会注意到您的努力并试图超越他们。 DDOS 保护通常是猫捉老鼠的游戏。

关于ruby-on-rails - 带有 nginx ddos​​ 保护的 Ruby on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23868982/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com