Loading
Logo
محدودسازی تعداد درخواست بر زمان با AspNetCoreRateLimit

محدودسازی تعداد درخواست بر زمان با AspNetCoreRateLimit

  • اطلاعات کلی و هزینه ها
  • توضیحات
  • سرفصل ها و فایل ها
  • مجوز ها
  • قیمت دوره:
    ثبت نام غیرفعال میباشد
  • وضعیت دوره:
    منتشر شده
  • تعداد فایل:
    1 عدد
  • آخرین ویرایش:
    (01 آذر 1399 ) 1 هفته پیش
  • تعداد دانشجویان:
    (بزودی)
  • مدت زمان دوره:
    53 دقیقه

به احتمال قوی شما هم تا به حال با مشکل ارسال تعداد نامحدود درخواست کاربران مواجه شده اید و ممکنه حتی تلاش های زیادی نیز برای رفع این مشکل انجام داده باشید حالا یا موفق شده اید تا حدودی جلوی این کار را بگیرید یا با مشکلاتی مواجه شده اید که کلا بیخیال این قضیه شده اید. در این دوره میخوام پکیجی را به شما معرفی کنم که بسیار قدرتمند و کامل این مشکل را برای شما حل میکند و در عین حال بسیار سبک هم هست پس به هیچ عنوان نگران بار اضافی روی سرور نباشید.

اسم این پکیج AspNetCoreRateLimit هست که میتوانید سورس و کد آن را از این لینک دریافت کنید و مطالعه نمایید. طرز کارAspNetCoreRateLimit بدین صورت است که شما تمامی تنظیمات و قوانین و سیاست های مدنظرتان را در فایل appsetting.json مینویسید و بقیه ی کار را به این میان افزار می سپارید.

و اما چرا باید از این ابزار استفاده کنیم؟

  • جلوگیری از ارسال تعداد درخواست های زیاد به سرور در سطح نرم افزار

  • جلوگیری از کاهش سرعت سایت به علت جلوگیری از ارسال درخواست های اضافی

  • جلوگیری از حمله ی Dictionary Attack (یافتن کلمه عبور با استفاده از فرهنگ لغت و تست های مکرر)

  • کنترل بیشتر روی درخواست های ارسال شده به سرور

 

از جمله امکانات بسیار قدرتمندی که میتوان به آن اشاره کرد قابلیت های زیر هستند:

توانایی تعیین لیست سفید برای IP های خاص (برای مثال خزنده های گوگل)

با استفاده از این قابلیت میتوانید برخی از IP ها را نادیده بگیرید و قوانین و سیاست ها را برای آن ها در نظر نگیرید از جمله ی این IP ها میتوان به IP موتورهای جستوجوگر اشاره کرد که اگر آن ها را محدود کنیم ممکن است روی سئوی سایت تاثیر منفی داشته باشد.

توانایی تعیین لیست سفید برای Endpoint های خاصدر حالات مختلف (GET, POST, PUT و ...)

شاید برخی از صفحات سایت یا برخی از WebApi ها را بخواهیم نادیده بگیریم و یا حتی آنها را فقط در متدهای خاصی نادیده بگیریم با استفاده ازAspNetCoreRateLimit این کار به راحتی امکان پذیر میباشد.

توانایی استفاده از رنج IP

وقتی تعداد IP های مدنظر در یک Rule خاص زیاد هست و همه ی آنها نیز در یک رنج خاص قرار دارند میتوانید با استفاده از این قابلیت کدها را زیاد شلوغ نکنید و فقط رنج IP را به آن بدهید و بقیه ی کار را بهAspNetCoreRateLimit بسپارید.

توانایی ایجاد قوانین برای Endpoint هابه صورت اختصاصی و عمومی

شاید قصد داشته باشید که یک صفحه یا WebApi را به صورت کامل در لیست سفید قرار ندهید و فقط قوانین و سیاست های استفاده از آن ها متفاوت باشد با استفاده از این قابلیت میتوانید به راحتی قوانین و سیاست های اختصاصی برای Endpoint های مدنظر درست کنید.

توانایی تعیین محدودیت در زمان های مختلف (ثانیه، دقیقه، ساعت و ...)

شما میتوانید تعیین کنید که هر کاربر در یک زمان مشخص میتواند چند درخواست به سمت سرور ارسال کند و درصورتی که از حد تعیین شده تجاوز کرد با چه کد وضعیتی رو به رو شود. برای مثال هر کاربر در هر پنج ثانیه فقط میتوانید 15 درخواست به سمت سرور ارسال کند که البته زمان میتواند برحسب دقیقه یا ساعت هم باشد.

استفاده از Regular Expression

ممکن هست که بخوایید که فقط Endpoint هایی که در ادرس آنها شرایط و یا کلمات خاصی هست یکسری قوانین برای آن ها لحاظ شود که میتوانید با استفاده از Regular Expression به مقصود خود برسید.

توانایی تعیین لیست سفید برای Device های مختلف

زمانی که از WebApi استفاده میکنید شاید بخواهید دستگاه هایی که نرم افزارهای شرکت خودتان را میزبانی میکنند از این قوانین مستثنا باشید که به راحتی میتوانید در Header درخواست آن ها شناسه دستگاه را قرار دهید تا AspNetCoreRateLimit بتواند آن دستگاه ها را بشناسد و همچنین آن ها را نادیده بگیرد

قابلیت آبدیت قوانین و سیاست ها در زمان اجرای سایت

شاید به دلایلی بخواهید در زمان اجرای نرم افزار قوانین و سیاست ها را تغییر دهید کهAspNetCoreRateLimit این قابلیت را فراهم آورده و میتواند از آن بهره بگیرد.

استفاده از Redis برای نگهداری شمارنده ها و قوانین

اگر منابع محدودی دارید و نمیتوانید برای نگهداری شمارنده ها و اطلاعات کاربران از MemoryCacheاستفاده کنید اینجاست که Redis به کمک شما خواهد آمد و میتوانید از آن برای نگهداری اطلاعات و داده های خود استفاده کنید تا حافظه ی RAM سرور دچار مشکل نشود.

شخصی سازی پیغام های سیستم

شما به راحتی میتوانید پیغام های سیستم را سفارشی سازی کنید برای مثال آن ها را ترجمه کنید یا تغییر دهید

  • 1
    File Type

    توضیحات فایل نمایش رایگان

    رایگان
    53 دقیقه

    در بخش مقدمه از آموزش AspNetCoreRateLimit به مباحث زیر خواهیم پرداخت:

    AspNetCoreRateLimit چیست؟

    چرا باید از AspNetCoreRateLimit استفاده کنیم؟

    استفاده از AspNetCoreRateLimit در Razor Page

    استفاده از AspNetCoreRateLimit در WebApi

    تعیین قوانین عمومی برای Endpoint های خاص

    ایجاد لیست سفید برای Ip های خاص

    معرفی رنج Ip های موتور جستوجو در لیست سفید

    ایجاد لیست سفید برای Endpoint های خاص در حالات مختلف (get, post, ...)

    آموزش استفاده از Regular Exression در Endpoint ها

    تعیین سیاست برای رنج Ip های اختصاصی

    تعیین لیست سفید برای Device های مختلف

    و ده ها نکته دیگر در مورد استفاده از AspNetCoreRateLimit

محمدرضا احمدی

محمدرضا احمدی

تاریخ عضویت: 07 اردیبهشت 1399
دنبال کردن ایمیل رزومه
ثبت یک نظر جدید
  • برای ثبت نظر بهتر است وارد سایت شوید
  • لطفا از کلمات و جملات توهین آمیز بپرهیزید
  • کامنتهایی که جنبه ی تبلیغ داشته باشند تایید نخواهند شد
  • از ارسال شماره تماس یا ایمیل خود در دیدگاه ها بپرهیزید
  • به سوالات تخصصی در بخش نظرات پاسخ داده نخواهد شد
دیدگاه شما بعد از تایید توسط مدیریت نمایش داده میشود
نظرات