روش پیاده سازی Rate Limiting

در پست زیر لینک یک مقاله ای رو قرار دادم که در مورد امنیت وب سرویس صحبت می کند

https://devheroes.club/t/ldap/3989/2

در این مقاله یک بخش از آن مربوط به Rate Limiting درخواست هاست. من قبلا یک چیزی برای این کار درست کردم ولی راضی نیستم. به نظرم اطلاعات زیادی وارد دیتابیس می شد که البته از ردیس استفاده کردم.

حالا سوالم این هست بهترین راه کمترل درخواست بر اساس سطح دسترسی کاربر در وب سرویس چی هست ؟

به عنوان مثال یک کاربر مهمان که هیچ شناسه ای نداره فقط بتونه 10 درخواست در ثانیه بفرسته و کاربر شامل اشترک ماهانه بتونه 200 درخواست در ثانیه بفرسته.

شما چه روشی رو پیشنهاد می کنید؟ راهی که پیشنهاد می دید فکر کنم برای استفاده از IP blacklist and whitelist هم بشه استفاده کرد.
تشکر

1 پسندیده

چرا ردیس برای شما کار نمیکنه ؟ میتونی کلید های ردیس را برای مدت کم نگه داری ۲ دقیقه یا کمتر

2 پسندیده

درود سام عزیز. مشکل اینکه مثلا من باید بر اساس کلید آیپی هر نفر رو بگیرم ذخیره کنم ؟!! و بهش اجازه ندادم شما این رو پیشنهاد می کنید ؟

کار می کنه ولی فکر می کنم یکمی کثیف کد زدم باهاش .

1 پسندیده

به نظر من همین خوب کار میکنه و کثیف نیست

2 پسندیده
2 پسندیده