Ninja Learn | نینجا لرن
1.27K subscribers
105 photos
41 videos
12 files
326 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.iss.one/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.iss.one/+td1EcO_YfSphNTlk
Download Telegram
🔬 مثال واقعی
فرض کنین می‌خواین به سایت amazon.com برین:

1️⃣مرورگر شما اول به سرور DNS مراجعه می‌کنه.

2️⃣سرور DNS بررسی می‌کنه که amazon.com رو به کدوم آدرس IP باید متصل کنه.

3️⃣آدرس IP رو به مرورگر برمی‌گردونه.

4️⃣مرورگر شما به اون آدرس IP متصل میشه و سایت آمازون رو لود می‌کنه.

حالا تصور کنین که این فرآیند قراره هزاران بار در روز تکرار بشه.
اگه DNS وجود نداشت، باید هر بار یه سری عدد طولانی رو به خاطر می‌سپردین تا به سایت مورد نظر برسین 🙄

جمع‌بندی
فهمیدیم DNS واقعاً مثل یه جادو عمل می‌کنه که کاربرها بدون اینکه نیازی به حفظ کردن آدرس‌های پیچیده داشته باشن، می‌تونن به راحتی به سایت‌ها دسترسی پیدا کنن. این سیستم پیچیده با یه سری قوانین و پروتکل‌های خاص کار می‌کنه که باعث میشه وب به شکلی که ما می‌شناسیم، وجود داشته باشه.

امیدوارم این توضیحات کامل‌ بوده باشه و تونسته باشم مفهوم DNS رو براتون روشن کنم. اگه هنوز سوالی دارین یا چیزی براتون مبهمه، حتماً بپرسین 😄

واینکه ممنون میشم اگه خوشت اومد با ریکشن زدن و فالو کردن حمایت کنی:)

#DNS #web #backend


@ninja_learn_ir
15😁1
💎 احرازهویت Authentication در جنگو 💎

امروز می‌خوام در مورد یکی از مهم‌ترین مباحث دنیای وب، یعنی Authentication یا همون احراز هویت در جنگو (Django) صحبت کنم. 🛡️ اگر توسعه‌دهنده وب هستیدقطعا می‌دونید که چقدر این موضوع مهمه! پس بیاید بدون معطلی بریم سر اصل مطلب! 🚀

1⃣ احراز هویت ساده (Simple Authentication) 🆔
این ساده‌ترین نوع احراز هویت توی جنگوئه. به طور پیش‌فرض جنگو یک سیستم احراز هویت داخلی داره که کاربرا رو با استفاده از نام کاربری و رمز عبور وارد سیستم می‌کنه. این روش بیشتر برای پروژه‌های کوچیک و ساده مناسبه.

چطوری پیاده‌سازیش کنیم؟ 🤔
اول باید توی تنظیمات پروژه، app مربوط به احراز هویت جنگو (django.contrib.auth) رو فعال کنید.
بعدش می‌تونید با استفاده از فرم‌های پیش‌فرض یا ساخت فرم‌های خودتون، کاربرا رو ثبت نام و وارد سیستم کنید.


2⃣ احراز هویت با توکن (Token Authentication)
🔑
این روش مخصوص زمانی هست که شما دارید یه API می‌سازید و می‌خواید کاربرانتون با استفاده از توکن بهش دسترسی پیدا کنن. توی این روش، به جای نام کاربری و رمز عبور، یک توکن به کاربر داده می‌شه که باید اون رو توی هدر درخواست‌ها قرار بده.


چطور پیاده‌سازیش کنیم؟🤔
از کتابخونه‌های مثل Django Rest Framework استفاده کنید.
بعدش با استفاده از TokenAuthentication و صدور توکن برای هر کاربر، می‌تونید این روش رو پیاده کنید.


3⃣ احراز هویت JWT (JSON Web Token
) 📜
خب JWT یه نوع خاص از توکنه که اطلاعات کاربر رو داخل خودش ذخیره می‌کنه. این نوع توکن‌ها خیلی امن و پرکاربرد هستن و به خصوص برای پروژه‌های SPA (Single Page Application) خیلی مناسبن.


چطور پیاده‌سازیش کنیم؟🤔
از کتابخونه‌های مثل djangorestframework-simplejwt استفاده کنید.
بعدش با پیکربندی صحیح، می‌تونید توکن‌های JWT رو برای کاربران صادر و اعتبارسنجی کنید.


4⃣ احراز هویت با OAuth 2.0 🌐
این روش بیشتر برای وقتی مناسبه که می‌خواید کاربرانتون با حساب‌های شبکه‌های اجتماعی یا سرویس‌های دیگه مثل گوگل و فیسبوک وارد سایت بشن. OAuth 2.0 یه پروتکل امن برای این نوع احراز هویته.

چطور پیاده‌سازیش کنیم؟ 🤔
از کتابخونه django-allauth یا social-auth-app-django استفاده کنید.
بعدش با انجام تنظیمات مربوطه، می‌تونید کاربران رو از طریق سرویس‌های مختلف احراز هویت کنید.


5⃣ احراز هویت دو مرحله‌ای (Two-Factor Authentication) 🔐
اگه می‌خواید امنیت بیشتری برای کاربران فراهم کنید، می‌تونید احراز هویت دو مرحله‌ای رو پیاده کنید. توی این روش، علاوه بر رمز عبور، یه کد تایید هم برای کاربر ارسال می‌شه که باید اون رو وارد کنه.


چطور پیاده‌سازیش کنیم؟ 🤔
از کتابخونه django-two-factor-auth استفاده کنید.
بعد از تنظیمات اولیه، می‌تونید این قابلیت رو به اپلیکیشن خودتون اضافه کنید.



جمع‌بندی 🧩
هر کدوم از این روش‌ها کاربرد خاص خودشون رو دارن و بسته به نیاز پروژه، می‌تونید یکی یا چند تا از این‌ها رو پیاده کنید. امنیت توی دنیای وب خیلی مهمه، پس به هیچ وجه ازش غافل نشید! 🕵️‍♂️

اگه سوالی دارید یا نیاز به کمک بیشتر دارید، حتما بپرسید. 💬

پست بعدی رو هم از دست ندید که می‌خوام در مورد Authorization صحبت کنم. 😉

#authentication #auth #django #backend


@ninja_learn_ir
👍103🤯1