From bc8f0593670452851d5e9d97bea1ae90f10db354 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Tue, 11 Jun 2019 14:28:39 +0700 Subject: [PATCH] Add rate limiting for search endpoints --- config/config.exs | 2 ++ lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 2 ++ 2 files changed, 4 insertions(+) diff --git a/config/config.exs b/config/config.exs index 4e2b1703b..d20d4fda9 100644 --- a/config/config.exs +++ b/config/config.exs @@ -503,6 +503,8 @@ config :pleroma, :database, rum_enabled: false config :http_signatures, adapter: Pleroma.Signature +config :pleroma, :rate_limit, search: [{1000, 10}, {1000, 30}] + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index 92cd77f62..20b08fda4 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -55,6 +55,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do when action in [:account_register] ) + plug(Pleroma.Plugs.RateLimiter, :search when action in [:search, :search2, :account_search]) + @local_mastodon_name "Mastodon-Local" action_fallback(:errors) -- 2.45.2