مشاهده ی دوره رایگان AspNetCoreRateLimit
به احتمال قوی شما هم تا به حال با مشکل ارسال تعداد نامحدود درخواست کاربران مواجه شده اید و ممکنه حتی تلاش های زیادی نیز برای رفع این مشکل انجام داده باشید حالا یا موفق شده اید تا حدودی جلوی این کار را بگیرید یا با مشکلاتی مواجه شده اید که کلا بیخیال این قضیه شده اید. در این دوره میخوام پکیجی را به شما معرفی کنم که بسیار قدرتمند و کامل این مشکل را برای شما حل میکند و در عین حال بسیار سبک هم هست پس به هیچ عنوان نگران بار اضافی روی سرور نباشید.
اسم این پکیج AspNetCoreRateLimit هست. طرز کارAspNetCoreRateLimit بدین صورت است که شما تمامی تنظیمات و قوانین و سیاست های مد نظرتان را در فایل appsetting.json مینویسید و بقیه ی کار را به این میان افزار می سپارید.
و اما چرا باید از این ابزار استفاده کنیم؟
از جمله امکانات بسیار قدرتمندی که میتوان به آن اشاره کرد قابلیت های زیر هستند:
با استفاده از این قابلیت میتوانید برخی از IP ها را نادیده بگیرید و قوانین و سیاست ها را برای آن ها در نظر نگیرید از جمله ی این IP ها میتوان به IP موتورهای جستوجوگر اشاره کرد که اگر آن ها را محدود کنیم ممکن است روی سئوی سایت تاثیر منفی داشته باشد.
شاید برخی از صفحات سایت یا برخی از WebApi ها را بخواهیم نادیده بگیریم و یا حتی آنها را فقط در متدهای خاصی نادیده بگیریم با استفاده ازAspNetCoreRateLimit این کار به راحتی امکان پذیر میباشد.
وقتی تعداد IP های مدنظر در یک Rule خاص زیاد هست و همه ی آنها نیز در یک رنج خاص قرار دارند میتوانید با استفاده از این قابلیت کدها را زیاد شلوغ نکنید و فقط رنج IP را به آن بدهید و بقیه ی کار را بهAspNetCoreRateLimit بسپارید.
شاید قصد داشته باشید که یک صفحه یا WebApi را به صورت کامل در لیست سفید قرار ندهید و فقط قوانین و سیاست های استفاده از آن ها متفاوت باشد با استفاده از این قابلیت میتوانید به راحتی قوانین و سیاست های اختصاصی برای Endpoint های مدنظر درست کنید.
شما میتوانید تعیین کنید که هر کاربر در یک زمان مشخص میتواند چند درخواست به سمت سرور ارسال کند و درصورتی که از حد تعیین شده تجاوز کرد با چه کد وضعیتی رو به رو شود. برای مثال هر کاربر در هر پنج ثانیه فقط میتوانید 15 درخواست به سمت سرور ارسال کند که البته زمان میتواند برحسب دقیقه یا ساعت هم باشد.
ممکن هست که بخوایید که فقط Endpoint هایی که در ادرس آنها شرایط و یا کلمات خاصی هست یکسری قوانین برای آن ها لحاظ شود که میتوانید با استفاده از Regular Expression به مقصود خود برسید.
زمانی که از WebApi استفاده میکنید شاید بخواهید دستگاه هایی که نرم افزارهای شرکت خودتان را میزبانی میکنند از این قوانین مستثنا باشید که به راحتی میتوانید در Header درخواست آن ها شناسه دستگاه را قرار دهید تا AspNetCoreRateLimit بتواند آن دستگاه ها را بشناسد و همچنین آن ها را نادیده بگیرد
شاید به دلایلی بخواهید در زمان اجرای نرم افزار قوانین و سیاست ها را تغییر دهید که AspNetCoreRateLimit این قابلیت را فراهم آورده و میتواند از آن بهره بگیرد.
اگر منابع محدودی دارید و نمیتوانید برای نگهداری شمارنده ها و اطلاعات کاربران از MemoryCacheاستفاده کنید اینجاست که Redis به کمک شما خواهد آمد و میتوانید از آن برای نگهداری اطلاعات و داده های خود استفاده کنید تا حافظه ی RAM سرور دچار مشکل نشود.
شما به راحتی میتوانید پیغام های سیستم را سفارشی سازی کنید برای مثال آن ها را ترجمه کنید یا تغییر دهید
مشاهده ی دوره رایگان محدودسازی تعداد درخواست بر زمان با AspNetCoreRateLimit