Coding Lovers
کدِ الگوریتمش رو وقت کنم با lua و ردیس مینویسم میزارم ( داخل پایتون )
leaky_bucket_algorithm.py
1.7 KB
اینم از سورسعه الگوریتم و مثال
لذتشو ببرین 🔥
ازش حتی داخل ربات های تلگرامی هم برای جلوگیری از اسپم و تشخیصشون میتونین استفاده کنین
#ratelimit
@CodingLovers_OFF
لذتشو ببرین 🔥
ازش حتی داخل ربات های تلگرامی هم برای جلوگیری از اسپم و تشخیصشون میتونین استفاده کنین
#ratelimit
@CodingLovers_OFF
❤10🤣2
والا بقران وسط جنگ وضعیت اینترنتم بهتر بود
این چه وضعیتیه
این چه وضعیتیه
👍17🤣4
This media is not supported in your browser
VIEW IN TELEGRAM
سِری پست های Rate limit - الگوریتم Token Bucket
توکنها با نرخ ثابتی تولید و توی یه سطل ذخیره میشون. هر درخواست یک توکن مصرف میکنه. وقتی توکن ها تموم بشن، درخواست هم رد میشه.
پیچیدگی خاصی نداره که بخوام توضیح بیشتری بدم :/
بدرد API هایی میخوره که میخوان جلوی اسپم و بروت فورس رو بگیرن. تخصصی تر بخوام بگم، برای مدیریت افزایش ناگهانی ترافیک بدرد میخوره.
مثلا سایت قابلیت سرچ داره، این الگوریتم کمکت میکنه تا از سرچ های تند تند و پشت هم کاربرا جلوگیری کنی.
حقیقتا شخصا ضعفی توش ندیدم :)
#ratelimit
@CodingLovers_OFF ❤️🔥
توکنها با نرخ ثابتی تولید و توی یه سطل ذخیره میشون. هر درخواست یک توکن مصرف میکنه. وقتی توکن ها تموم بشن، درخواست هم رد میشه.
پیچیدگی خاصی نداره که بخوام توضیح بیشتری بدم :/
یجورایی برخلاف الگوریتم قبلی رفتار میکنه، اونجا سطل با درخواست پر میشد، اینجا خالی میشه.✨️ موارد استفاده
بدرد API هایی میخوره که میخوان جلوی اسپم و بروت فورس رو بگیرن. تخصصی تر بخوام بگم، برای مدیریت افزایش ناگهانی ترافیک بدرد میخوره.
مثلا سایت قابلیت سرچ داره، این الگوریتم کمکت میکنه تا از سرچ های تند تند و پشت هم کاربرا جلوگیری کنی.
خلاصه بهترین الگوریتم برای گذاشتن محدودیت هایی مثل Request per minute هست.💢 ضعف
حقیقتا شخصا ضعفی توش ندیدم :)
#ratelimit
@CodingLovers_OFF ❤️🔥
❤10🔥1
Coding Lovers
سِری پست های Rate limit - الگوریتم Token Bucket توکنها با نرخ ثابتی تولید و توی یه سطل ذخیره میشون. هر درخواست یک توکن مصرف میکنه. وقتی توکن ها تموم بشن، درخواست هم رد میشه. پیچیدگی خاصی نداره که بخوام توضیح بیشتری بدم :/ یجورایی برخلاف الگوریتم قبلی رفتار…
token_bucket.py
1.5 KB
👍6🔥2❤1
یه چند روز وقفه افتاده بین پست ها عذرمیخوام
۲ ۳ روز ریلکس کرده بودم، بعد ۲ ماه بکوب نشستن پشت سیستم حقم بود
۲ ۳ روز ریلکس کرده بودم، بعد ۲ ماه بکوب نشستن پشت سیستم حقم بود
❤7👍1🔥1😢1
This media is not supported in your browser
VIEW IN TELEGRAM
سِری پست های Rate limit - الگوریتم Fixed Window Counter
ساده ترین الگوریتم؛ تعداد درخواستها رو در فواصل زمانی ثابت (مثلاً ۱ دقیقه) پیگیری میکنیم. بعد از رسیدن به حد مجاز، تمام درخواستهای بعدی در اون پنجره رد میشن.
✨️ موارد استفاده
API های ساده با ترافیک قابل پیشبینی و پروژه های ساده. کاراییش بشدت راحته و مهاجم ها راحت میتونن دورش بزنن :)
💢 ضعف
همونطور که گفتم راحت میشه دورش زد و باهاش بازی کرد. میشه زمانبندی درخواست هارو یجوری میزون کرد که بیشتر از حد مجاز درخواست زد.
#ratelimit
@CodingLovers_OFF ❤️🔥
ساده ترین الگوریتم؛ تعداد درخواستها رو در فواصل زمانی ثابت (مثلاً ۱ دقیقه) پیگیری میکنیم. بعد از رسیدن به حد مجاز، تمام درخواستهای بعدی در اون پنجره رد میشن.
✨️ موارد استفاده
API های ساده با ترافیک قابل پیشبینی و پروژه های ساده. کاراییش بشدت راحته و مهاجم ها راحت میتونن دورش بزنن :)
🔓 خلاصه ازش استفاده نکنین، امن نیست.
💢 ضعف
همونطور که گفتم راحت میشه دورش زد و باهاش بازی کرد. میشه زمانبندی درخواست هارو یجوری میزون کرد که بیشتر از حد مجاز درخواست زد.
#ratelimit
@CodingLovers_OFF ❤️🔥
❤6👍2🔥1😢1
Coding Lovers
سِری پست های Rate limit - الگوریتم Fixed Window Counter ساده ترین الگوریتم؛ تعداد درخواستها رو در فواصل زمانی ثابت (مثلاً ۱ دقیقه) پیگیری میکنیم. بعد از رسیدن به حد مجاز، تمام درخواستهای بعدی در اون پنجره رد میشن. ✨️ موارد استفاده API های ساده با ترافیک…
fixed_window_counter.py
4.1 KB
اینم سورسش
دیگه حوصله توضیحات نوشتن نداشتم دادم هوش مصنوعی نوشت با مثال
#ratelimit
@CodingLovers_OFF ❤️🔥
دیگه حوصله توضیحات نوشتن نداشتم دادم هوش مصنوعی نوشت با مثال
#ratelimit
@CodingLovers_OFF ❤️🔥
❤13
عشقای من کانال یوتوب کدینگ لاورز رو دریابید
چیزی نمونده ۴۰۰۰ تا بشیم
کارهای خفن زیادی در پیش رو هست👨💻
📱 https://youtube.com/@CodingLovers
اگه آموزش خاصی نیاز دارید توی کامنت ها بگید🙏
چیزی نمونده ۴۰۰۰ تا بشیم
کارهای خفن زیادی در پیش رو هست
اگه آموزش خاصی نیاز دارید توی کامنت ها بگید
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥3
سِری پست های Rate limit - الگوریتم Sliding Window
این خودش به دو الگوریتم تقسیم میشه:
1: Sliding Window Log
دقیقا چیزیه که داخل ویدیو میبینین.
بازهی زمانی متحرک داره و اومده که مشکل الگوریتم Fixed Window رو حل کنه.
بدرد بخش هایی از پروژه میخوره که واقعا دقت rate limit بالایی میخواد و امنیت بشدت بالایی نیاز داره؛ چون هیچجوره نمیشه این الگوریتم رو دور زد. برای مثال بانک ها ( خارجیاش ) از این الگوریتم برای محدود کردن کاربران برای تعداد برداشت وَجه در روز استفاده میکنن.
تنها ضعفی که داره اینه که مصرف مموری بالایی داره.
2: Sliding Window Counter
یه نسخه کم دقت تر از الگوریتم اولیعه. همونکار رو به همون شکل انجام میده، با دقت کمتر، و مصرف مموری کمتر.
@CodingLovers_OFF ❤️🔥
این خودش به دو الگوریتم تقسیم میشه:
1: Sliding Window Log
دقیقا چیزیه که داخل ویدیو میبینین.
بازهی زمانی متحرک داره و اومده که مشکل الگوریتم Fixed Window رو حل کنه.
بدرد بخش هایی از پروژه میخوره که واقعا دقت rate limit بالایی میخواد و امنیت بشدت بالایی نیاز داره؛ چون هیچجوره نمیشه این الگوریتم رو دور زد. برای مثال بانک ها ( خارجیاش ) از این الگوریتم برای محدود کردن کاربران برای تعداد برداشت وَجه در روز استفاده میکنن.
تنها ضعفی که داره اینه که مصرف مموری بالایی داره.
2: Sliding Window Counter
یه نسخه کم دقت تر از الگوریتم اولیعه. همونکار رو به همون شکل انجام میده، با دقت کمتر، و مصرف مموری کمتر.
کد هاشونو میزارم، و بعد یه پست میزارم که بگم هرکدوم رو کجا استفاده کنید. اینا بیشتر داخل API ها استفاده میشن، اما داخل ربات های تلگرامی هم خالی از لطف نیستن.#ratelimit
@CodingLovers_OFF ❤️🔥
❤4🔥1
❤3🔥1
Coding Lovers
log.py
سِری پست های Rate Limit - از هرکدوم کجا استفاده کنیم؟
توضیحات و کد هر الگوریتم رو بهتون دادم، حالا وقتشه یه استفاده ای ازشون بکنیم
انتخاب کردنشون رو اصلا سخت نگیرین، بلاخره هرکدوم دارن یه کار رو انجام میدن.
خیلی ساده بخوام بگم از نظر من Token Bucket واسه همه جا جوابه.
💢 حجم ترافیک
- اگه میدونین یهو کلی ادم هجوم نمیارن ( ترافیکتون قابل پیشبینیعه )، از Leaky Bucket استفاده کنین
- اگه میدونین ممکنه حجم بالایی از افراد در یک زمان خاص ترافیک سنگینی ایجاد کنن، Token Bucket جوابه
- اگه هیچ حدسی راجب این موضوع ندارین، Sliding Window Counter مناسبه چون تعادلی بین مصرف منابع و کیفیت ارائه میده، درنتیجه خیالت راحته
🔥 دقت و امنیت
- اگه خیلی امنیت مهمه ( مثلا برای API های درگاه یا authentication ) ، بهترین گزینه Sliding Window Log هست. مثلا کلودفلر برای شرایطی که سایتتون مورد حمله قرار میگیره میاد از همچین الگوریتمی کمک میگیره، چون همینطور که بشدت امنیت بالایی داره، اطلاعات هم براتون ذخیره میکنه ( توی سورسش مشخصه - پارامتر member توی سورس )
- اگه نمیخواین سخت بگیرین، token bucket بزنین
- اگه باز هم هیچ نظری ندارین، sliding window counter جوابه
✨️ کجاها بکار میان؟
هر برنامه ای که قراره چندین کاربر رو کنترل کنه، این الگوریتم ها نیازش میشه.
از ربات تلگرام گرفته تا API و S3 و CDN ...
#ratelimit
@CodingLovers_OFF ❤️🔥
توضیحات و کد هر الگوریتم رو بهتون دادم، حالا وقتشه یه استفاده ای ازشون بکنیم
انتخاب کردنشون رو اصلا سخت نگیرین، بلاخره هرکدوم دارن یه کار رو انجام میدن.
خیلی ساده بخوام بگم از نظر من Token Bucket واسه همه جا جوابه.
💢 حجم ترافیک
- اگه میدونین یهو کلی ادم هجوم نمیارن ( ترافیکتون قابل پیشبینیعه )، از Leaky Bucket استفاده کنین
- اگه میدونین ممکنه حجم بالایی از افراد در یک زمان خاص ترافیک سنگینی ایجاد کنن، Token Bucket جوابه
- اگه هیچ حدسی راجب این موضوع ندارین، Sliding Window Counter مناسبه چون تعادلی بین مصرف منابع و کیفیت ارائه میده، درنتیجه خیالت راحته
🔥 دقت و امنیت
- اگه خیلی امنیت مهمه ( مثلا برای API های درگاه یا authentication ) ، بهترین گزینه Sliding Window Log هست. مثلا کلودفلر برای شرایطی که سایتتون مورد حمله قرار میگیره میاد از همچین الگوریتمی کمک میگیره، چون همینطور که بشدت امنیت بالایی داره، اطلاعات هم براتون ذخیره میکنه ( توی سورسش مشخصه - پارامتر member توی سورس )
- اگه نمیخواین سخت بگیرین، token bucket بزنین
- اگه باز هم هیچ نظری ندارین، sliding window counter جوابه
نکات
قرار نیست داخل برنامتون فقط از یه الگوریتم استفاده کنین، میتونین از چند تاش کمک بگیرین
✨️ کجاها بکار میان؟
هر برنامه ای که قراره چندین کاربر رو کنترل کنه، این الگوریتم ها نیازش میشه.
از ربات تلگرام گرفته تا API و S3 و CDN ...
- با FastAPI که راحتین، یه dependency میزنین کار حل میشه
- با django هم راحتین، خودش داره اینارو، خودتونم میتونین middleware بزنین
- با aiogram هم راحتین، یه middleware میزنین حل میشه
#ratelimit
@CodingLovers_OFF ❤️🔥
❤3🔥1
کسی میدونه چرا موقع جنگ و شرایط حساس میگن عکس از تسلیحات و چیزای دیگه پخش نکنید،
حتی وقتی با دیدن اون عکس نمیشه مکان شو فهمید
دلیلش چیه؟
حتی وقتی با دیدن اون عکس نمیشه مکان شو فهمید
دلیلش چیه؟
👍9
Forwarded from awolverp ( Ali )
داداش اول اینکه متا دیتا ذخیره میشه ( که قابل غیرفعال کردنه توی گوشی های اندرویدی )
دوم اینکه کافیه عکس رو توی گوگل سرچ کنی تا بفهمی مکانش کجاس
سوم اینکه نیاز نیست اصلا با عکس کاری کنن
درحالت عادی که میدونن تو کجایی
عکس رو که میزاری، با لوکیشن خودت میفهمن کجاس دیگه
دوم اینکه کافیه عکس رو توی گوگل سرچ کنی تا بفهمی مکانش کجاس
سوم اینکه نیاز نیست اصلا با عکس کاری کنن
درحالت عادی که میدونن تو کجایی
عکس رو که میزاری، با لوکیشن خودت میفهمن کجاس دیگه
Coding Lovers
داداش اول اینکه متا دیتا ذخیره میشه ( که قابل غیرفعال کردنه توی گوشی های اندرویدی ) دوم اینکه کافیه عکس رو توی گوگل سرچ کنی تا بفهمی مکانش کجاس سوم اینکه نیاز نیست اصلا با عکس کاری کنن درحالت عادی که میدونن تو کجایی عکس رو که میزاری، با لوکیشن خودت میفهمن…
آره روش های مختلفی هست
که یکیشون همین متادیتا هست
اطلاعات مختلفی که توی عکس ذخیره میشه؛ از جمله مدل گوشی، دوربین و لوکیشن!
اما چطور به این متادیتا دسترسی پیدا کنیم؟
که یکیشون همین متادیتا هست
اطلاعات مختلفی که توی عکس ذخیره میشه؛ از جمله مدل گوشی، دوربین و لوکیشن!
اما چطور به این متادیتا دسترسی پیدا کنیم؟
🔥8
توی این ویدیو یاد میگیرید چطور با زبان پایتون به متادیتای عکس ها دسترسی پیدا کنید و حذف شون کنید 🥸
تا از نشت اطلاعات جلوگیری بشه👻
❗️ پیشنهاد میکنم حتما ویدیو رو ببینید:
📱 https://youtu.be/3vURMMubcfQ
تا از نشت اطلاعات جلوگیری بشه
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥1
فیلترشکن پیشنهادی برای اندروید - Proxy Cloud
یکی از دوستان یه فیلترشکن اوپن سورس، برپایه کانفیگ های v2ray ساخته که خودم باهاش خیلی حال کردم.
با فلاتر نوشته شده، اوپن سورس، رایگان و خوشگل 🔥
https://github.com/code3-dev/ProxyCloud
@CodingLovers_OFF ❤️🔥
یکی از دوستان یه فیلترشکن اوپن سورس، برپایه کانفیگ های v2ray ساخته که خودم باهاش خیلی حال کردم.
با فلاتر نوشته شده، اوپن سورس، رایگان و خوشگل 🔥
https://github.com/code3-dev/ProxyCloud
@CodingLovers_OFF ❤️🔥
❤9😁1