چند تا مثال از ریخت وب تو زمون جنگ (Web 1.0)
نظرتون چیه ؟ بنظر من قدیما مردم خیلی بدبختی میکشیدن 😁
#وب #web
@khat_academy
نظرتون چیه ؟ بنظر من قدیما مردم خیلی بدبختی میکشیدن 😁
#وب #web
@khat_academy
😁7
Web 2.0
عصر وب 2.0، یک فاز پیشرفته از توسعه وب است که پس از عصر وب 1.0 شکل گرفت. در این دوره، وبسایتها به شکلی تعاملیتر و کاربرگرایانهتر طراحی شدند و کاربران توانایی بیشتری در انتشار محتوا، تعامل با دیگر کاربران و شرکت در فعالیتهای آنلاین را داشتند.
عصر وب 2.0 به کاربران اجازه میدهد تا به عنوان شرکتکنندهها فعالیت کنند، به جای اینکه به عنوان مشاهدهکنندهها عمل کنند. در وب 2.0، کاربران میتوانند محتوا را بسازند و به اشتراک بگذارند، نظرات و نقدها را بیان کنند، شبکههای اجتماعی را ایجاد کنند و در فعالیتهای گروهی شرکت کنند. به عبارت دیگر، کاربران در عصر وب 2.0 نقش فعالتری در ساختار وب دارند.
تکنولوژیهایی مانند شبکههای اجتماعی، وبلاگها، ویکیها، پلتفرمهای اشتراکگذاری ویدیو، پادکستها و ابزارهای تعاملی متنوع دیگر در عصر وب 2.0 به وجود آمدند. این فناوریها به کاربران امکان میدهند تا به سادگی محتوای خود را ایجاد کنند و با دیگران به اشتراک بگذارند، واکنشها و بازخوردها را دریافت کنند و شبکههای اجتماعی را برای برقراری ارتباط با دیگران استفاده کنند.
عصر وب 2.0 همچنین با تأکید بر تعامل و همکاری ایجاد شبکههای اجتماعی بین کاربران را ترویج داد. این شبکهها به کاربران اجازه میدهند تا با دوستان، خانواده، همکاران و دیگر افراد ارتباط برقرار کنند و تجربیات خود را به اشتراک بگذارند. از جمله مشهورترین شبکههای اجتماعی در این دوره میتوان به فیسبوک، توییتر، اینستاگرام و لینکدین اشاره کرد.
علاوه بر این، عصر وب 2.0 زمینههای جدیدی برای تجارت الکترونیک ایجاد کرد. فروشگاههای آنلاین، بازارهای الکترونیکی، خدمات براینترنتی و سایر پلتفرمهای تجاری آنلاین نمونههایی از این توسعه در حوزه تجارت الکترونیک هستند.
به طور خلاصه، عصر وب 2.0 به عنوان یک فاز پیشرفته از توسعه وب، تعامل کاربران را ترویج میدهد و به آنها امکان میدهد تا به عنوان شرکتکنندهها در ساختار وب عمل کنند.
#وب #web
@khat_academy
عصر وب 2.0، یک فاز پیشرفته از توسعه وب است که پس از عصر وب 1.0 شکل گرفت. در این دوره، وبسایتها به شکلی تعاملیتر و کاربرگرایانهتر طراحی شدند و کاربران توانایی بیشتری در انتشار محتوا، تعامل با دیگر کاربران و شرکت در فعالیتهای آنلاین را داشتند.
عصر وب 2.0 به کاربران اجازه میدهد تا به عنوان شرکتکنندهها فعالیت کنند، به جای اینکه به عنوان مشاهدهکنندهها عمل کنند. در وب 2.0، کاربران میتوانند محتوا را بسازند و به اشتراک بگذارند، نظرات و نقدها را بیان کنند، شبکههای اجتماعی را ایجاد کنند و در فعالیتهای گروهی شرکت کنند. به عبارت دیگر، کاربران در عصر وب 2.0 نقش فعالتری در ساختار وب دارند.
تکنولوژیهایی مانند شبکههای اجتماعی، وبلاگها، ویکیها، پلتفرمهای اشتراکگذاری ویدیو، پادکستها و ابزارهای تعاملی متنوع دیگر در عصر وب 2.0 به وجود آمدند. این فناوریها به کاربران امکان میدهند تا به سادگی محتوای خود را ایجاد کنند و با دیگران به اشتراک بگذارند، واکنشها و بازخوردها را دریافت کنند و شبکههای اجتماعی را برای برقراری ارتباط با دیگران استفاده کنند.
عصر وب 2.0 همچنین با تأکید بر تعامل و همکاری ایجاد شبکههای اجتماعی بین کاربران را ترویج داد. این شبکهها به کاربران اجازه میدهند تا با دوستان، خانواده، همکاران و دیگر افراد ارتباط برقرار کنند و تجربیات خود را به اشتراک بگذارند. از جمله مشهورترین شبکههای اجتماعی در این دوره میتوان به فیسبوک، توییتر، اینستاگرام و لینکدین اشاره کرد.
علاوه بر این، عصر وب 2.0 زمینههای جدیدی برای تجارت الکترونیک ایجاد کرد. فروشگاههای آنلاین، بازارهای الکترونیکی، خدمات براینترنتی و سایر پلتفرمهای تجاری آنلاین نمونههایی از این توسعه در حوزه تجارت الکترونیک هستند.
به طور خلاصه، عصر وب 2.0 به عنوان یک فاز پیشرفته از توسعه وب، تعامل کاربران را ترویج میدهد و به آنها امکان میدهد تا به عنوان شرکتکنندهها در ساختار وب عمل کنند.
#وب #web
@khat_academy
👍7
Web 3.0
وب 3.0، که بهش همچنین "وب نسل بعدی" میگویند، نسل جدیدی از تکنولوژی و بسترهای اینترنتی است که قدرتمندتر، هوشمندتر و تعاملیتر از نسلهای قبلی وب است. وب 3.0 به عنوان یک تحول بزرگ در اینترنت معرفی شده و قدرتهای جدیدی را برای کاربران و برنامهنویسان فراهم میکند.
تکنولوژی بلاکچین و توکنهای دیجیتال:
یکی از اصلیترین فناوریهایی که وب 3.0 از آن استفاده میکند، تکنولوژی بلاکچین است. بلاکچین امکان ارتباطات مستقیم و بدون واسطه میان کاربران را فراهم میکند. در واقع بلاکچین یک پایگاه داده مشترک و توزیعشده است که بهطور همزمان در کامپیوترهای مختلف نگهداری میشود و امکان ذخیره دادهها و انجام معاملات را بدون نیاز به بانک و سازمان مرکزی فراهم میکند.
همچنین توکنهای دیجیتال نقش مهمی در اقتصاد وب 3.0 دارند. توکنها مانند پول الکترونیکی عمل میکنند اما بر خلاف پول معمولی، آنها رمزنگاری و امنیت بیشتری دارند. با استفاده از توکنها میتوان برای دریافت خدمات و محتوا در وب 3.0 پرداخت کرد.
دموکراتیزهتر شدن شبکه:
هدف از وب 3.0 این است که کنترل شبکه اینترنت از دست شرکتهای بزرگ فناوری بگیرد و بهصورت غیرمتمرکز در آید تا کاربران بتوانند خودشان مدیریت و ارتباط خود را در شبکه تعیین کنند. این موضوع دموکراسی بیشتری را در وب تضمین میکند.
#وب #web
@khat_academy
وب 3.0، که بهش همچنین "وب نسل بعدی" میگویند، نسل جدیدی از تکنولوژی و بسترهای اینترنتی است که قدرتمندتر، هوشمندتر و تعاملیتر از نسلهای قبلی وب است. وب 3.0 به عنوان یک تحول بزرگ در اینترنت معرفی شده و قدرتهای جدیدی را برای کاربران و برنامهنویسان فراهم میکند.
تکنولوژی بلاکچین و توکنهای دیجیتال:
یکی از اصلیترین فناوریهایی که وب 3.0 از آن استفاده میکند، تکنولوژی بلاکچین است. بلاکچین امکان ارتباطات مستقیم و بدون واسطه میان کاربران را فراهم میکند. در واقع بلاکچین یک پایگاه داده مشترک و توزیعشده است که بهطور همزمان در کامپیوترهای مختلف نگهداری میشود و امکان ذخیره دادهها و انجام معاملات را بدون نیاز به بانک و سازمان مرکزی فراهم میکند.
همچنین توکنهای دیجیتال نقش مهمی در اقتصاد وب 3.0 دارند. توکنها مانند پول الکترونیکی عمل میکنند اما بر خلاف پول معمولی، آنها رمزنگاری و امنیت بیشتری دارند. با استفاده از توکنها میتوان برای دریافت خدمات و محتوا در وب 3.0 پرداخت کرد.
دموکراتیزهتر شدن شبکه:
هدف از وب 3.0 این است که کنترل شبکه اینترنت از دست شرکتهای بزرگ فناوری بگیرد و بهصورت غیرمتمرکز در آید تا کاربران بتوانند خودشان مدیریت و ارتباط خود را در شبکه تعیین کنند. این موضوع دموکراسی بیشتری را در وب تضمین میکند.
#وب #web
@khat_academy
👍7
خب حالا که Web 3.0 به عنوان نسل بعدی وب و آینده وب به شمار میاد. چه تفاوتی رو برای توسعه دهندگان وب نسب به نسل قبلی وب بوجود میاره؟
تو پست بعدی چند تا از سوالات پر تکرارو با هم بررسی میکنیم
#وب #web
@khat_academy
تو پست بعدی چند تا از سوالات پر تکرارو با هم بررسی میکنیم
#وب #web
@khat_academy
🔥6
وب 3.0
بکاند بدون سرور مرکزی:
با توجه به اینکه دیگر سرور مرکزی وجود ندارد، دیتابیسها و سرویسهای بکاند باید به صورت توزیعشده و بر پایه بلاکچین طراحی شوند تا بتوانند بدون سرور مرکزی اجرا شوند.
تکنولوژیهای جدید:
برنامهنویسان باید با تکنولوژیهای جدیدی مانند بلاکچین، ارکستراسیون سرویسها، رابطهای P2P و... آشنا شوند.
امنیت و رمزنگاری:
امنیت و رمزنگاری دادهها اهمیت بیشتری پیدا میکند.
فرانتاند:
در فرانتاند تغییراتی مانند استفاده از وب سهبعدی و واقعیت افزوده، اتصال به دیتابیسهای توزیعشده و انجام معاملات بر پایه بلاکچین خواهیم داشت.
سوال:
توی وب 3.0 دیگه مفهومی به اسم سرور و کلاینت داریم؟
دیگه دقیقا مانند گذشته مفهوم سرور و کلاینت مثل قبل در وب 3.0 وجود نداره.
به جای آن داریم:
نودهای متصل به بلاکچین (Blockchain Nodes): هر دستگاهی که به بلاکچین متصل باشه میتونه نقش سرور رو ایفا کنه و دیتا رو ذخیره و ارتباط برقرار کنه.
کاربران/دستگاههای متصل (Connected Users/Devices): نقش کلاینت رو دارن و میتونن با بقیه ارتباط برقرار کنن و از شبکه استفاده کنن.
یعنی دیگه مرزهای مشخص مفهومی سرور و کلاینت وجود نداره و هر دستگاهی میتونه هر دو نقش رو ایفا کنه. شبکه هم به صورت غیرمتمرکز مدیریت میشه.
پس میتونیم بگیم در وب 3.0 دیگه از مفهوم سنتی سرور و کلاینت استفاده نمیشه.
#وب #web
@khat_academy
بکاند بدون سرور مرکزی:
با توجه به اینکه دیگر سرور مرکزی وجود ندارد، دیتابیسها و سرویسهای بکاند باید به صورت توزیعشده و بر پایه بلاکچین طراحی شوند تا بتوانند بدون سرور مرکزی اجرا شوند.
تکنولوژیهای جدید:
برنامهنویسان باید با تکنولوژیهای جدیدی مانند بلاکچین، ارکستراسیون سرویسها، رابطهای P2P و... آشنا شوند.
امنیت و رمزنگاری:
امنیت و رمزنگاری دادهها اهمیت بیشتری پیدا میکند.
فرانتاند:
در فرانتاند تغییراتی مانند استفاده از وب سهبعدی و واقعیت افزوده، اتصال به دیتابیسهای توزیعشده و انجام معاملات بر پایه بلاکچین خواهیم داشت.
سوال:
توی وب 3.0 دیگه مفهومی به اسم سرور و کلاینت داریم؟
دیگه دقیقا مانند گذشته مفهوم سرور و کلاینت مثل قبل در وب 3.0 وجود نداره.
به جای آن داریم:
نودهای متصل به بلاکچین (Blockchain Nodes): هر دستگاهی که به بلاکچین متصل باشه میتونه نقش سرور رو ایفا کنه و دیتا رو ذخیره و ارتباط برقرار کنه.
کاربران/دستگاههای متصل (Connected Users/Devices): نقش کلاینت رو دارن و میتونن با بقیه ارتباط برقرار کنن و از شبکه استفاده کنن.
یعنی دیگه مرزهای مشخص مفهومی سرور و کلاینت وجود نداره و هر دستگاهی میتونه هر دو نقش رو ایفا کنه. شبکه هم به صورت غیرمتمرکز مدیریت میشه.
پس میتونیم بگیم در وب 3.0 دیگه از مفهوم سنتی سرور و کلاینت استفاده نمیشه.
#وب #web
@khat_academy
😱7
Syntax | سینتکس
https://computer.howstuffworks.com/web-10.htm مقاله پیشنهادی در خصوص وب #وب #web @citax_tel 👈 سیتاکس
تو این مقاله همچنین درباره وب 4.0 هم یه سری اشاره ها کرده
بله وب 4.0 😱
بله وب 4.0 😱
😱6
دوست دارید میت فردا شب درباره چه موضوعی باشه؟ (ترجیحا تخصصی بگید)
فعلا تصمیم اینه درباره server hardening باشه اما اگه دوست دارید در خصوص موضوع دیگه ای باشه بگید تو کامنت همین پست
فعلا تصمیم اینه درباره server hardening باشه اما اگه دوست دارید در خصوص موضوع دیگه ای باشه بگید تو کامنت همین پست
👍8
Syntax | سینتکس
دوست دارید میت فردا شب درباره چه موضوعی باشه؟ (ترجیحا تخصصی بگید) فعلا تصمیم اینه درباره server hardening باشه اما اگه دوست دارید در خصوص موضوع دیگه ای باشه بگید تو کامنت همین پست
http://meet.google.com/mip-pegn-xdt
لینک میت
موضوع میت:
راهنمایی مسیر برای یک برنامه نویس تازه کار
لینک کانال ارائه دهنده میت:
https://news.1rj.ru/str/Code_Crafters
#میت
@khat_academy
لینک میت
موضوع میت:
راهنمایی مسیر برای یک برنامه نویس تازه کار
لینک کانال ارائه دهنده میت:
https://news.1rj.ru/str/Code_Crafters
#میت
@khat_academy
🔥7
Syntax | سینتکس
http://meet.google.com/mip-pegn-xdt لینک میت موضوع میت: راهنمایی مسیر برای یک برنامه نویس تازه کار لینک کانال ارائه دهنده میت: https://news.1rj.ru/str/Code_Crafters #میت @khat_academy
پیرو بحث راهنمایی هایی برای تازه کار ها ( و افراد در حال کار در هر سطحی) رفرنسهایی رو قرار میدیم براتون. از جمله مقالات مفید و نظرات اشخاص در استک های مختلف، رود مپ (نقشه راه) و توصیه ها.
شخصا برای رود مپ وبسایتی کامل تر از
https://roadmap.sh
ندیدم که چیزایی که نوشته رو توضیح هم داده باشه (کلیک کنید روشون در نمودار بهتون توضیحات، آموزشو مقالات بیشتری میده)، برای همه استک ها و زبان ها رودمپ قرار دادند.
معماری و طراحی نرم افزار:
https://roadmap.sh/software-architect
https://roadmap.sh/software-design-architecture
برای داکر و کانتینر ها:
https://roadmap.sh/docker
برای فرانت اند:
https://roadmap.sh/frontend
برای بک اند:
https://roadmap.sh/backend
برای Asp.net Core:
https://roadmap.sh/aspnet-core
برای پایتون:
https://roadmap.sh/python
برای DevOps:
https://roadmap.sh/devops
برای DBA و دیتابیس:
https://roadmap.sh/sql
https://roadmap.sh/mongodb
https://roadmap.sh/postgresql-dba
https://roadmap.sh/graphql
برای امنیت و Cyber Security:
https://roadmap.sh/cyber-security
و یک بخش قشنگدیگه هم درباره Beat Practice ها داره. مثلا best practice های طراحی api، دیتابیس، کلاد ..
https://roadmap.sh/best-practices
[mrgrayhat] -> @Code_Crafters
@khat_academy
شخصا برای رود مپ وبسایتی کامل تر از
https://roadmap.sh
ندیدم که چیزایی که نوشته رو توضیح هم داده باشه (کلیک کنید روشون در نمودار بهتون توضیحات، آموزشو مقالات بیشتری میده)، برای همه استک ها و زبان ها رودمپ قرار دادند.
معماری و طراحی نرم افزار:
https://roadmap.sh/software-architect
https://roadmap.sh/software-design-architecture
برای داکر و کانتینر ها:
https://roadmap.sh/docker
برای فرانت اند:
https://roadmap.sh/frontend
برای بک اند:
https://roadmap.sh/backend
برای Asp.net Core:
https://roadmap.sh/aspnet-core
برای پایتون:
https://roadmap.sh/python
برای DevOps:
https://roadmap.sh/devops
برای DBA و دیتابیس:
https://roadmap.sh/sql
https://roadmap.sh/mongodb
https://roadmap.sh/postgresql-dba
https://roadmap.sh/graphql
برای امنیت و Cyber Security:
https://roadmap.sh/cyber-security
و یک بخش قشنگدیگه هم درباره Beat Practice ها داره. مثلا best practice های طراحی api، دیتابیس، کلاد ..
https://roadmap.sh/best-practices
[mrgrayhat] -> @Code_Crafters
@khat_academy
roadmap.sh
Developer Roadmaps - roadmap.sh
Community driven roadmaps, articles and guides for developers to grow in their career.
❤10
تو این قسمت از khat weekly، مهمون ما مبینا حاجی محمدی هستش.
تخصصش NLP Research است و بصورت ریموت تو شرکت paperscore واقع در تگزاس آمریکا مشغول به کاره.
قراره درباره هوش مصنوعی و آینده شغلیش صحبت کنه.
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون مبینا قراره کلی نکات مهم درباره ی هوش مصنوعی بهمون بگه
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی پادکست دربارش صحبت کنیم
تاریخ پخش:
یکشنبه ۹ مهر ساعت ۸ شب
#podcast #weekly
@khat_academy
تخصصش NLP Research است و بصورت ریموت تو شرکت paperscore واقع در تگزاس آمریکا مشغول به کاره.
قراره درباره هوش مصنوعی و آینده شغلیش صحبت کنه.
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون مبینا قراره کلی نکات مهم درباره ی هوش مصنوعی بهمون بگه
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی پادکست دربارش صحبت کنیم
تاریخ پخش:
یکشنبه ۹ مهر ساعت ۸ شب
#podcast #weekly
@khat_academy
🔥9❤2👎1
Forwarded from Alireza
انقد لوگو خوب بود این خانم های زیبا طرفدارش شدن روی ماگ و لباس چاپش کزدن
🎉11😁9
JWT
چند روزه پستای تخصصی طور نذاشتم.
امروز قراره نحوه پیاده سازی Jwt Authentication بصورت حرفه ای بررسی کنیم.
اول از همه یه سری مفاهیم و توضیحات درباره jwt رو مرور میکنیم بعدش بصورت عملی پیاده سازی میکنیم.
#JWT
@khat_academy
چند روزه پستای تخصصی طور نذاشتم.
امروز قراره نحوه پیاده سازی Jwt Authentication بصورت حرفه ای بررسی کنیم.
اول از همه یه سری مفاهیم و توضیحات درباره jwt رو مرور میکنیم بعدش بصورت عملی پیاده سازی میکنیم.
#JWT
@khat_academy
🔥9👍2
JWT (Json Web Token):
یک استاندارد برای ایجاد توکنهای دیجیتاله که تو فرایند احراز هویت و تأیید اعتبار در برنامهها و سیستمهای وب استفاده میشه. JWT یک توکن کم حجم و ایمن هستش که اطلاعاتی رو تو خودش ذخیره می کنه و به صورت امضاشده به عنوان یک رشته Base64 ارسال می کنه.
چرا بصورت Base64 ارسال میشه؟
1. قابلیت انتقال توی فرمت متنی:
رشتههای Base64 متشکل از کاراکترهای الفبای بیتی هستن که میتونن بدون مشکل در فرمتهای متنی ارسال و ذخیره بشن. باعث میشه که توکن JWT بدون نیاز به فرمتهای خاص بتونه تو درخواستها و پاسخهای HTTP ارسال بشه.
2. حجم کمتر:
با استفاده از رشتههای Base64 برای نمایش سربرگ، حجم توکن JWT کمتر می شه. چون رشتههای Base64 نسبت به داده اصلی کوچیک ترن. این کاهش حجم باعث میشه توکن JWT به صورت کمحجمتری قابل انتقال و ذخیره بشه.
آیا Base64 بودن امنیت توکنو تضمین می کنه؟
استفاده از Base64 هیچ تأثیری تو امنیت توکن نداره. امضای دیجیتال توکن تو قسمت امضا (Signature) صورت میگیره و اصالت و صحت سربرگ توسط امضا بررسی میشه. بنابراین، حتی اگر سربرگ در قالب Base64 لو بره، امنیت توکن تضمین میشه.
#JWT
@khat_academy
یک استاندارد برای ایجاد توکنهای دیجیتاله که تو فرایند احراز هویت و تأیید اعتبار در برنامهها و سیستمهای وب استفاده میشه. JWT یک توکن کم حجم و ایمن هستش که اطلاعاتی رو تو خودش ذخیره می کنه و به صورت امضاشده به عنوان یک رشته Base64 ارسال می کنه.
چرا بصورت Base64 ارسال میشه؟
1. قابلیت انتقال توی فرمت متنی:
رشتههای Base64 متشکل از کاراکترهای الفبای بیتی هستن که میتونن بدون مشکل در فرمتهای متنی ارسال و ذخیره بشن. باعث میشه که توکن JWT بدون نیاز به فرمتهای خاص بتونه تو درخواستها و پاسخهای HTTP ارسال بشه.
2. حجم کمتر:
با استفاده از رشتههای Base64 برای نمایش سربرگ، حجم توکن JWT کمتر می شه. چون رشتههای Base64 نسبت به داده اصلی کوچیک ترن. این کاهش حجم باعث میشه توکن JWT به صورت کمحجمتری قابل انتقال و ذخیره بشه.
آیا Base64 بودن امنیت توکنو تضمین می کنه؟
استفاده از Base64 هیچ تأثیری تو امنیت توکن نداره. امضای دیجیتال توکن تو قسمت امضا (Signature) صورت میگیره و اصالت و صحت سربرگ توسط امضا بررسی میشه. بنابراین، حتی اگر سربرگ در قالب Base64 لو بره، امنیت توکن تضمین میشه.
#JWT
@khat_academy
👍7❤2
Refresh Token, Access Token
تو مکانیزم JWT، معمولاً از دو بخش توکن استفاده میشه که به عنوان "Refresh Token" و "Access Token" شناخته میشن. هر کدوم از این دو توکن نقش و وظیفههای مختص خودشو تو فرآیند احراز هویت و مدیریت دسترسیها دارن.
1. Refresh Token:
رفرش توکن، توکنی است که به کاربر در زمان احراز هویت و داده میشه. این توکن معمولاً دارای مدت زمان اعتبار بلندتری نسبت به Access Token هستش و معمولاً توسط سرور صادر میشه. وظیفه Refresh Token در تجدید و تمدید Access Token هستش. به عبارت دیگه، هنگامی که Access Token منقضی میشه، کاربر میتونه Refresh Token رو به سرور ارسال کنه تا یدونه Access Token جدید دریافت کنه بدون نیاز به مجدداً وارد کردن اطلاعات احراز هویت.
2. Access Token:
اکسس توکن، توکنی است که بعد از احراز هویت کاربر به او اختصاص داده میشه و برای دسترسی به منابع و انجام عملیات مختلف استفاده میشه. این توکن معمولاً دارای مدت زمان اعتبار کوتاهتری نسبت به رفرش توکن هستش.
اکسس توکن برای هر درخواست از طریق هدر یا پارامترهای درخواست ارسال میشه و سرور با بررسی اعتبار و صحتش، دسترسی کاربر به منابع رو تأیید میکنه.
دو دلیل برای اینکه چرا دو نوع توکن داریم؟
1. امنیت بیشتر: استفاده از توکن Access با مدت زمان اعتبار کوتاهتر، مزیت امنیتی داره. در صورتی که توکن Access در دسترس یک اتکر قرار بگیره، مدت زمانی که میتونه ازش استفاده کنه محدوده و احتمال سوءاستفاده کم میشه.
2. مدیریت دسترسی بهتر: با استفاده از دو نوع توکن، مدیریت دسترسیها بهتر امکانپذیر میشه. با تنظیم مدت زمان اعتبار کوتاهتر برای Access Token، کاربران تو فاصله زمانی کوتاهتری بین درخواستها مجدداً احراز هویت میشن و دسترسی خودشونو تایید می کنن. این به سرور اجازه میده تا در مدت زمان کمتری درخواستهای کاربران رو بررسی کنه و عملکرد سیستم رو بهبود ببخشه.
شاید از خودتون بپرسید خب اگه رفرش توکن دست هکر بیوفته چی؟
اینجاس که بحث پیاده سازی سیستم احراز هویت امن پیش میاد. یعنی ما باید بررسی کنیم ببینیم شخصی که داره درخواست می ده واقعا خودشه یا نه!
#JWT
@khat_academy
تو مکانیزم JWT، معمولاً از دو بخش توکن استفاده میشه که به عنوان "Refresh Token" و "Access Token" شناخته میشن. هر کدوم از این دو توکن نقش و وظیفههای مختص خودشو تو فرآیند احراز هویت و مدیریت دسترسیها دارن.
1. Refresh Token:
رفرش توکن، توکنی است که به کاربر در زمان احراز هویت و داده میشه. این توکن معمولاً دارای مدت زمان اعتبار بلندتری نسبت به Access Token هستش و معمولاً توسط سرور صادر میشه. وظیفه Refresh Token در تجدید و تمدید Access Token هستش. به عبارت دیگه، هنگامی که Access Token منقضی میشه، کاربر میتونه Refresh Token رو به سرور ارسال کنه تا یدونه Access Token جدید دریافت کنه بدون نیاز به مجدداً وارد کردن اطلاعات احراز هویت.
2. Access Token:
اکسس توکن، توکنی است که بعد از احراز هویت کاربر به او اختصاص داده میشه و برای دسترسی به منابع و انجام عملیات مختلف استفاده میشه. این توکن معمولاً دارای مدت زمان اعتبار کوتاهتری نسبت به رفرش توکن هستش.
اکسس توکن برای هر درخواست از طریق هدر یا پارامترهای درخواست ارسال میشه و سرور با بررسی اعتبار و صحتش، دسترسی کاربر به منابع رو تأیید میکنه.
دو دلیل برای اینکه چرا دو نوع توکن داریم؟
1. امنیت بیشتر: استفاده از توکن Access با مدت زمان اعتبار کوتاهتر، مزیت امنیتی داره. در صورتی که توکن Access در دسترس یک اتکر قرار بگیره، مدت زمانی که میتونه ازش استفاده کنه محدوده و احتمال سوءاستفاده کم میشه.
2. مدیریت دسترسی بهتر: با استفاده از دو نوع توکن، مدیریت دسترسیها بهتر امکانپذیر میشه. با تنظیم مدت زمان اعتبار کوتاهتر برای Access Token، کاربران تو فاصله زمانی کوتاهتری بین درخواستها مجدداً احراز هویت میشن و دسترسی خودشونو تایید می کنن. این به سرور اجازه میده تا در مدت زمان کمتری درخواستهای کاربران رو بررسی کنه و عملکرد سیستم رو بهبود ببخشه.
شاید از خودتون بپرسید خب اگه رفرش توکن دست هکر بیوفته چی؟
اینجاس که بحث پیاده سازی سیستم احراز هویت امن پیش میاد. یعنی ما باید بررسی کنیم ببینیم شخصی که داره درخواست می ده واقعا خودشه یا نه!
#JWT
@khat_academy
👏8👍2😱2
ساختار JWT
از سه بخش تشکیل شده: سربرگ (Header)، بدنه (Payload) و امضا (Signature). سربرگ شامل اطلاعات مربوط به نوع توکن و الگوریتم امضا هستش، بدنه حاوی اطلاعات مفیدی است که برنامهها میتونن ازش استفاده کنن.
امضا برای تأیید اعتبار توکن استفاده میشه(امضا رو فقط خودمون می دونیم چیه و اعتبار توکن هم بر اساس امضا می سنجیم).
قسمت payload اطلاعاتی که نیازه بهش توکن داشته باشه. مثلا تاریخ انقضا و اینکه توکن برای چه شخصی صادر شده. تو این قسمت ما می تونیم اطلاعات بیشتری رو ذخیره کنیم برای مثال:
last_name, username, user_id ...
خلاصه می تونیم اطلاعات مورد نیازمونو قرارش بدیم تا نیاز نباشه هربار از دیتابیس بگیریم. در نهایت میایم encrypt می کنیم تا قابل خوندن نباشه.
قسمت signature:
امضا به عنوان یک سپر امنیتی برای تشخیص تغییرات در دادههای توکن و تأیید اینکه توکن توسط یک صادر کننده معتبر ایجاد شده، به کار میره.
پ.ن
تو گوگل سرچ کنید کلی توضیح کامل میاد. بریم سراغ پیاده سازیش
#JWT
@khat_academy
از سه بخش تشکیل شده: سربرگ (Header)، بدنه (Payload) و امضا (Signature). سربرگ شامل اطلاعات مربوط به نوع توکن و الگوریتم امضا هستش، بدنه حاوی اطلاعات مفیدی است که برنامهها میتونن ازش استفاده کنن.
امضا برای تأیید اعتبار توکن استفاده میشه(امضا رو فقط خودمون می دونیم چیه و اعتبار توکن هم بر اساس امضا می سنجیم).
Header.Payload.Signature
همونطور که تو عکس مشخصه. قسمت header نوع توکن مشخص شده با الگوریتم امضا.قسمت payload اطلاعاتی که نیازه بهش توکن داشته باشه. مثلا تاریخ انقضا و اینکه توکن برای چه شخصی صادر شده. تو این قسمت ما می تونیم اطلاعات بیشتری رو ذخیره کنیم برای مثال:
last_name, username, user_id ...
خلاصه می تونیم اطلاعات مورد نیازمونو قرارش بدیم تا نیاز نباشه هربار از دیتابیس بگیریم. در نهایت میایم encrypt می کنیم تا قابل خوندن نباشه.
قسمت signature:
امضا به عنوان یک سپر امنیتی برای تشخیص تغییرات در دادههای توکن و تأیید اینکه توکن توسط یک صادر کننده معتبر ایجاد شده، به کار میره.
پ.ن
تو گوگل سرچ کنید کلی توضیح کامل میاد. بریم سراغ پیاده سازیش
#JWT
@khat_academy
👍9
JWT
اگه شما توسعه دهنده فرانت اند هستید. می تونید سیستم احراز هویت JWT رو توی این پروژه ی واقعی که آنلاینش کردم تست کنید(فعلا آفلاینه)
http://188.121.113.3/api/schema/redoc/
همچنین یک سری قابلیت های دیگه هم در ادامه بهش اضافه می کنم.
#JWT
@khat_academy
اگه شما توسعه دهنده فرانت اند هستید. می تونید سیستم احراز هویت JWT رو توی این پروژه ی واقعی که آنلاینش کردم تست کنید(فعلا آفلاینه)
http://188.121.113.3/api/schema/redoc/
همچنین یک سری قابلیت های دیگه هم در ادامه بهش اضافه می کنم.
#JWT
@khat_academy
❤7