به ASP.NET Core 7، یک میانافزار جدید به نام Rate limiter اضافه شدهاست که امکان محدود سازی دسترسی به منابع برنامهی ما را میسر میکند. این میانافزار، طراحی جامع و مفصلی را دارد. به همین جهت نیاز است در ابتدا با مفاهیم مرتبط با آن آشنا شد و سپس به سراغ پیاده سازی و استفادهی از آن رفت. چرا باید میزان دسترسی به منابع یک برنامهی وب را محدود کرد؟ فرض کنید در حال ساخت یک web API هستید که کارش ذخیره سازی لیست وظایف اشخاص است و برای مثال از یک GET /api/todos برای دریافت لیست ظایف، یک POST /api/todos برای ثبت و یک PUT /api/todos/{id} برای تغییر موارد ثبت شده، تشکیل میشود. سؤال: چه مشکلی ممکن است به همراه این سه endpoint بروز کند؟ پاسخ: به حداقل چهار مورد زیر میتوان اشاره کرد: - یک مهاجم سعی میکند با برنامهای که تدارک دیده، هزاران وظیفهی جدید را در چند ثانیه به سمت برنامه ارسال کند تا سبب خاتمهی سرویس آن شود. - برنامهی ما در حین سرویس دهی، به یک سرویس ثالث نیز وابستهاست و آن سرویس ثالث، اجازهی استفادهی بیش از اندازهی از منابع خود را نمیدهد. با رسیدن تعداد زیادی درخواست به برنامهی ما تنها از طرف یک کاربر، به سقف مجاز استفادهی از آن سرویس ثالث رسیدهایم و اکنون برنامه، برای تمام کاربران آن قابل استفاده نیست. - شخصی در حال دریافت اطلاعات تک تک کاربران است. از شماره یک شروع کرده و به همین نحو جلو میرود. برای دریافت اطلاعات کاربران، نیاز است شخص به سیستم وارد شده و اعتبارسنجی شود؛ یعنی به ازای هر درخواست، یک کوئری نیز به سمت بانک اطلاعاتی جهت بررسی وضعیت فعلی و آنی کاربر ارسال میشود. به همین جهت عدم کنترل میزان دسترسی به لیست اطلاعات کاربران، بار سنگین, ...ادامه مطلب
در قسمت قبل با مفاهیم، اصطلاحات و الگوریتمهای مرتبط با میانافزار جدید Rate limiting مخصوص ASP.NET Core 7 آشنا شدیم که در پشت صحنه از امکانات موجود در فضای نام System.Threading.RateLimiting استفاده میکند. در این قسمت نحوهی استفادهی از آنرا مرور خواهیم کرد. روش افزودن میانافزار RateLimiter به برنامههای ASP.NET Core شبیه به سایر میانافزارها، جهت فعالسازی میانافزار RateLimiter، ابتدا باید سرویسهای متناظر با آنرا به برنامه معرفی کرد و پس از فعالسازی میانافزار مسیریابی، آنرا به زنجیرهی مدیریت یک درخواست معرفی نمود. برای نمونه در مثال زیر، امکان دسترسی به تمام درخواستها، به 10 درخواست در دقیقه، محدود میشود که پارتیشن بندی آن (در مورد پارتیشن بندی در قسمت قبل بیشتر بحث شد)، بر اساس useame کاربر اعتبارسنجی شده و یا hostname یک کاربر غیراعتبارسنجی شدهاست: var builder = WebApplication.CreateBuilder(args); builder.Services.AddRateLimiter(options => { options.GlobalLimiter = PartitionedRateLimiter.Create<HttpContext, string>(httpContext => RateLimitPartition.GetFixedWindowLimiter( partitionKey: httpContext.User.Identity?.Name ?? httpContext.Request.Headers.Host.ToString(), factory: partition => new FixedWindowRateLimiterOptions { AutoReplenishment = true, PermitLimit = 10, QueueLimit = 0, Window = TimeSpan.FromMinutes(1) })); }); // ... var app = builder.Build(); // ... app.UseRouting(); app.UseRateLimiter(); app.Map, ...ادامه مطلب
در C# 11 ارائهی شدهی به همراه NET 7.0.، واژهی کلیدی جدید file، جهت تعریف نوعهای محدود به یک فایل «File Scoped Types» ارائه شدهاست. این واژهی کلیدی را میتوان به تعریف هر نوع دلخواهی مانند class, interface, record, struct, enum, delegate اضافه کرد (منهای خواص، فیلدها و رخدادها؛ البته تا C# 11)، تا آن نوع، دیگر در سایر کلاسهای فایلهای برنامه، قابل دسترسی نباشد و سطح دید استفادهی از آن، تنها محدود به فایل جاری محل قرار گیری آن شود. به این ترتیب میتوان در یک فضای نام مشخص، چندین کلاس همنام را تعریف کرد؛ کاری که در نگارشهای پیشین #C، میسر نبود. بدیهی دیگر نمیتوان یک چنین نوعهایی را با سطوح دسترسی متداول inteal و یا public، تعریف و ترکیب کرد. یک مثال: نمونهای از نحوهی تعریف و استفادهی از File Scoped Types فرض کنید دو فایل جدید را به نامهای File1.cs و File2.cs به پروژهی جاری اضافه کردهایم. محتوای فایل File1.cs به صورت زیر است: namespace CS11Tests; file static class Post { public static string GetTitle() => "Title from File1.cs"; } inteal static class IntealClassFromFile1 { public static string GetTitle() => Post.GetTitle(); } و محتوای فایل File2.cs به نحو زیر تعریف شدهاست: namespace CS11Tests; file static class Post { public static string GetTitle() => "Title from File2.cs"; } inteal static class IntealClassFromFile2 { public static string GetTitle() => Post.GetTitle(); } اگر دقت کنید، ذیل فضای نام مشخص و ثابت CS11Tests، دو کلاس هم نام Post را داریم که اینبار با واژهی کلیدی file، شروع, ...ادامه مطلب
میتوان گفت تمامی بازیکنان و کاربران اینترنتی و علاقهمندان به فیلم و گیم با شخصیت های مارول از جمله مرد عنکبوتی آشنا هستند. در بازی Spider-Man Unlimited قصد داریم شما را به یک مرد عنکبوتی قهرمان تبدیل کنیم که قصد نجات دادن مردم و شهر از دست افراد شوم و پست دارد.همانطور که گفته شد در بازی Spider-Man Unlimited شما تبدیل به یک مرد عنکبوتی خواهید شد و بای, ...ادامه مطلب
پس از مدتها انتظار و حواشی مختلف بالاخره طرح اینترنت نامحدود حجمی تصویب شد ، زمانی که نام اینترنت نامحدود را می شنویم شاید دیگر نیزای به توضیحات اضافه نباشد ولی جالب است بدانید این طرح آنقدر اما و اگر دارد که واژه ی نامحدود را لوس میکند! بر اساس طرح تصویب شده دیگر با فروش ترافیک حجمی خداحافظی میشود , ...ادامه مطلب
پس از مدتها انتظار و حواشی مختلف بالاخره طرح اینترنت نامحدود حجمی تصویب شد ، زمانی که نام اینترنت نامحدود را می شنویم شاید دیگر نیزای به توضیحات اضافه نباشد ولی جالب است بدانید این طرح آنقدر اما و اگر دارد که واژه ی نامحدود را لوس میکند! بر اساس طرح تصویب شده دیگر با فروش ترافیک حجمی خداحافظی میشود , ...ادامه مطلب
پس از گذشت چندین هفته از اخرین آپدیت کلش اف کلنز و سرد شدن تدریجی تب کابران این بازی ، دقایقی قبل یکی از کارکنان رسمی سوپرسل از انتشار دور جدید پرسش و پاسخ های کاربران و توسعه دهندگان بازی در آینده ای نزدیک و همچنین آپدیت تابستانه کلش خبر داد! *** بروزرسانی دوم (5 مرداد ماه) *** به آپدیت تابستا, ...ادامه مطلب
پس از گذشت چندین هفته از اخرین آپدیت کلش اف کلنز و سرد شدن تدریجی تب کابران این بازی ، دقایقی قبل یکی از کارکنان رسمی سوپرسل خبر از انتشار دور جدید پرسش و پاسخ های کاربران و توسعه دهندگان بازی در آینده ای نزدیک داد و به کاربران کلش اف کلنز هیجان تازه ای وارد نمود! دور جدید پرسش و پاسخ و حقایق آیند, ...ادامه مطلب
پس از گذشت چندین هفته از اخرین آپدیت کلش اف کلنز و سرد شدن تدریجی تب کابران این بازی ، دقایقی قبل یکی از کارکنان رسمی سوپرسل خبر از انتشار دور جدید پرسش و پاسخ های کاربران و توسعه دهندگان بازی در آینده ای نزدیک داد و به کاربران کلش اف کلنز هیجان تازه ای وارد نمود! دور جدید پرسش و پاسخ و حقایق آیند, ...ادامه مطلب
محدوده اسپل ها و تاثیر آن ها با عرض سلام خدمت تمامی کاربران سایت ایران کلش امروز میخواهیم به شما آموزش اینکه اسپل ها چه محدودیتی دارند و تاثیر آنها چگونه است صحبت کنیم. آموزشی که اغلب شما میگوید نیازی به اینجور آموزش ها نیست ولی این تصور غلط است زیرا این آموزش بسیار مفید بوده که شاید تا حالا در آن دقت نکرده بودید.امروز میخواهیم کاربرد و محدوده اسپل هارا به شما توضیح دهیم.در این اموزش متوجه میشوید اسپل هارا در چه زمان و مکان رها کنید.و از هدر رفتن ان ها مخصوصا در وارها جلوگیری شود. برخی روش ها که در این آموزش یاد میگیرید : +استفاده از یک طلسم پرش در لایه های متعدد از دیوار+شکستن قسمت بزرگی از مپ توسط طلسم زلزله+فریز کردن دو اینفرنو تاور به جای یکی این سه اسپل در انداختن آن ها اشتباهات زیادی بوده که با مطالعه این مطلب آن ها اصلاح میشود. 1-بیشترین قدرت اسپل فریز اسپل فریز دارای شعاع 3.5 است یعنی 7 کاشی در یک ردیف که شما باتوجه به تصویر و تعداد کاشی ها میتوانید محدوده اثر این اسپل را مشاهده کنید. 2-اسپل پرش اسپل پرش دارای شعاع 3.5 میباشد که دو لایه دیوار را در تصویر زیر گرفته است. شنیده شده با بیش از این کاشی هم میشه ولی شما با همین ابعاد اسپل اندازی کنید زیرا ممکن است حملات شما خراب شود با کمترین اشتباه و پشیمانی به بار بیاورد. 3-اسپل زلزله شعاع این اسپل 4 کاشی است. یعنی هشت کاشی در یک ردیف است.دقت کنید که دقیقا این اندازه گیری هارا برحب شاعا انجام دهید زیرا غیر این باشد باعث مشکل میشود. امیدوارم این مطلب برای شما کمک زیادی باشد به خصوص در اینفرنوها که بسیار عذاب دهنده است و نابودی آن ها سخت ولی شما با این کارها راحت میتوانید استفاده کنید و وار و اتک مفیدی داشته باشید.موفق باشید…. Let's block ads! بخوانید, ...ادامه مطلب
به اشتراک گذاشتن در فیسبوک به اشتراک گذاشتن درتوییتر همان طور که می دانید، با منتشر شدن آپدیت های جدید کلش آف کلنز، وضعیت لوت موجود در بازی دچار تغییراتی می شود. این تغییرات بعضی مواقع خوب، و بعضی مواقع دیگر تاثیرات منفی در لوت موجود در بازی دارد. رفع مشکل عدم وجود لوت مناسب مشکل نبودن لوت در بازی، معمولا با تغییر محدوده کاپ رفع می شود ولی محدوده کاپ باید بر اساس لول تاون هال هر دهکده تغییر کند. محدوده ی کاپ ها برای انجام بهترین حملات با مناسب ترین لون به سطح تاون هال بستگی دارد : Town Hall سطح ۳ یا پایین تر : زیر 300 _______________ Town Hall سطح ۴ :300 تا 400 _______________ Town Hall سطح ۵ : 400 تا 500 _______________ Town Hall سطح ۶ : 500 تا 600 _______________ Town Hall سطح ۷ : 600 تا 800 _______________ Town Hall سطح ۸ : 800 تا 1000 _______________ Town Hall سطح ۹ : 1000 تا 1200 _______________ Town Hall سطح ۱۰ : کاپ 1600 تا 1900 _______________ Town Hall سطح ۱۱ : بالای کاپ 1600 تا 2100===================== در مورخه 30 بهمن ساعت 1:10 بامداد به روز شد لطفا نظر و تجربیات خود را در رابطه با تغییر محدوده کاپ بر اساس تاون هالتان در قسمت نظرات بیان کنید تا ما و دیگر کاربران بتوانند از تجربیات شما، کمال استفاده را ببرند This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers., ...ادامه مطلب
به اشتراک گذاشتن در فیسبوک به اشتراک گذاشتن درتوییتر همان طور که می دانید، با منتشر شدن آپدیت های جدید کلش آف کلنز، وضعیت لوت موجود در بازی دچار تغییراتی می شود. این تغییرات بعضی مواقع خوب، و بعضی مواقع دیگر تاثیرات منفی در لوت موجود در بازی دارد. رفع مشکل عدم وجود لوت مناسب مشکل نبودن لوت در بازی، معمولا با تغییر محدوده کاپ رفع می شود ولی محدوده کاپ باید بر اساس لول تاون هال هر دهکده تغییر کند. محدوده ی کاپ ها برای انجام بهترین حملات با مناسب ترین لون به سطح تاون هال بستگی دارد : Town Hall سطح ۳ یا پایین تر : زیر 300 _______________ Town Hall سطح ۴ :300 تا 400 _______________ Town Hall سطح ۵ : 400 تا 500 _______________ Town Hall سطح ۶ : 500 تا 600 _______________ Town Hall سطح ۷ : 600 تا 800 _______________ Town Hall سطح ۸ : 800 تا 1000 _______________ Town Hall سطح ۹ : 1000 تا 1200 _______________ Town Hall سطح ۱۰ : بالای 1200 _______________ Town Hall سطح ۱۱ : بالای 1200 لطفا نظر و تجربیات خود را در رابطه با تغییر محدوده کاپ بر اساس تاون هالتان در قسمت نظرات بیان کنید تا ما و دیگر کاربران بتوانند از تجربیات شما، کمال استفاده را ببرند This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers., ...ادامه مطلب