Помимо очевидных мер по смягчению, которые вы можете (и должны) реализовать до того, как запросы достигают вашего приложения (например, на самом веб-сервере), существует ряд способов реализовать так называемое регулирование запросов вваш трубопровод.
К счастью, вам не нужно заново изобретать колесо.Существует множество пакетов NuGet и проектов с открытым исходным кодом, которые обращаются к этому, и из которых вы можете извлечь уроки.
Суть этого в том, что вы перехватываете входящие запросы и сохраняете такие вещи, как URI и IP запроса, когда пересекаются- проверка ограничения на количество запросов в единицу времени и установление периода охлаждения, когда это необходимо.Само собой разумеется, вы бы поместили это как можно дальше в конвейер запросов вашего приложения.
, следующий за , не является рекомендацией программного обеспечения, а скорее примером того, как это можно узнать.своего рода промежуточное ПО может быть построено .Это действительно не так сложно понять основы процесса.