Syntax | سینتکس
前往频道在 Telegram
Focus: Web Lan: Python & Go Website: https://syntaxfa.ir Quick connect: https://quick-connect.syntaxfa.ir Github: https://github.com/syntaxfa Group: https://t.me/Syntax_fa_group
显示更多2 995
订阅者
-124 小时
+187 天
+4530 天
帖子存档
2 996
JWT
اگه شما توسعه دهنده فرانت اند هستید. می تونید سیستم احراز هویت JWT رو توی این پروژه ی واقعی که آنلاینش کردم تست کنید(مشخص نیست تا کی آنلاین میمونه)
http://188.121.113.3/api/schema/redoc/
همچنین یک سری قابلیت های دیگه هم در ادامه بهش اضافه می کنم.
#JWT
@khat_academy
2 996
ساختار JWT
از سه بخش تشکیل شده: سربرگ (Header)، بدنه (Payload) و امضا (Signature). سربرگ شامل اطلاعات مربوط به نوع توکن و الگوریتم امضا هستش، بدنه حاوی اطلاعات مفیدی است که برنامهها میتونن ازش استفاده کنن.
امضا برای تأیید اعتبار توکن استفاده میشه(امضا رو فقط خودمون می دونیم چیه و اعتبار توکن هم بر اساس امضا می سنجیم).
Header.Payload.Signature
همونطور که تو عکس مشخصه. قسمت header نوع توکن مشخص شده با الگوریتم امضا.
قسمت payload اطلاعاتی که نیازه بهش توکن داشته باشه. مثلا تاریخ انقضا و اینکه توکن برای چه شخصی صادر شده. تو این قسمت ما می تونیم اطلاعات بیشتری رو ذخیره کنیم برای مثال:
last_name, username, user_id ...
خلاصه می تونیم اطلاعات مورد نیازمونو قرارش بدیم تا نیاز نباشه هربار از دیتابیس بگیریم. در نهایت میایم encrypt می کنیم تا قابل خوندن نباشه.
قسمت signature:
امضا به عنوان یک سپر امنیتی برای تشخیص تغییرات در دادههای توکن و تأیید اینکه توکن توسط یک صادر کننده معتبر ایجاد شده، به کار میره.
پ.ن
تو گوگل سرچ کنید کلی توضیح کامل میاد. بریم سراغ پیاده سازیش
#JWT
@khat_academy2 996
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
2 996
JWT (Json Web Token):
یک استاندارد برای ایجاد توکنهای دیجیتاله که تو فرایند احراز هویت و تأیید اعتبار در برنامهها و سیستمهای وب استفاده میشه. JWT یک توکن کم حجم و ایمن هستش که اطلاعاتی رو تو خودش ذخیره می کنه و به صورت امضاشده به عنوان یک رشته Base64 ارسال می کنه.
چرا بصورت Base64 ارسال میشه؟
1. قابلیت انتقال توی فرمت متنی:
رشتههای Base64 متشکل از کاراکترهای الفبای بیتی هستن که میتونن بدون مشکل در فرمتهای متنی ارسال و ذخیره بشن. باعث میشه که توکن JWT بدون نیاز به فرمتهای خاص بتونه تو درخواستها و پاسخهای HTTP ارسال بشه.
2. حجم کمتر:
با استفاده از رشتههای Base64 برای نمایش سربرگ، حجم توکن JWT کمتر می شه. چون رشتههای Base64 نسبت به داده اصلی کوچیک ترن. این کاهش حجم باعث میشه توکن JWT به صورت کمحجمتری قابل انتقال و ذخیره بشه.
آیا Base64 بودن امنیت توکنو تضمین می کنه؟
استفاده از Base64 هیچ تأثیری تو امنیت توکن نداره. امضای دیجیتال توکن تو قسمت امضا (Signature) صورت میگیره و اصالت و صحت سربرگ توسط امضا بررسی میشه. بنابراین، حتی اگر سربرگ در قالب Base64 لو بره، امنیت توکن تضمین میشه.
#JWT
@khat_academy
2 996
JWT
چند روزه پستای تخصصی طور نذاشتم.
امروز قراره نحوه پیاده سازی Jwt Authentication بصورت حرفه ای بررسی کنیم.
اول از همه یه سری مفاهیم و توضیحات درباره jwt رو مرور میکنیم بعدش بصورت عملی پیاده سازی میکنیم.
#JWT
@khat_academy
2 996
تو این قسمت از khat weekly، مهمون ما مبینا حاجی محمدی هستش.
تخصصش NLP Research است و بصورت ریموت تو شرکت paperscore واقع در تگزاس آمریکا مشغول به کاره.
قراره درباره هوش مصنوعی و آینده شغلیش صحبت کنه.
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون مبینا قراره کلی نکات مهم درباره ی هوش مصنوعی بهمون بگه
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی پادکست دربارش صحبت کنیم
تاریخ پخش:
یکشنبه ۹ مهر ساعت ۸ شب
#podcast #weekly
@khat_academy
2 996
پیرو بحث راهنمایی هایی برای تازه کار ها ( و افراد در حال کار در هر سطحی) رفرنسهایی رو قرار میدیم براتون. از جمله مقالات مفید و نظرات اشخاص در استک های مختلف، رود مپ (نقشه راه) و توصیه ها.
شخصا برای رود مپ وبسایتی کامل تر از
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
2 996
http://meet.google.com/mip-pegn-xdt
لینک میت
موضوع میت:
راهنمایی مسیر برای یک برنامه نویس تازه کار
لینک کانال ارائه دهنده میت:
https://t.me/Code_Crafters
#میت
@khat_academy
2 996
دوست دارید میت فردا شب درباره چه موضوعی باشه؟ (ترجیحا تخصصی بگید)
فعلا تصمیم اینه درباره server hardening باشه اما اگه دوست دارید در خصوص موضوع دیگه ای باشه بگید تو کامنت همین پست
2 996
https://computer.howstuffworks.com/web-10.htm
مقاله پیشنهادی در خصوص وب
#وب #web
@citax_tel 👈 سیتاکس
2 996
وب 3.0
بکاند بدون سرور مرکزی:
با توجه به اینکه دیگر سرور مرکزی وجود ندارد، دیتابیسها و سرویسهای بکاند باید به صورت توزیعشده و بر پایه بلاکچین طراحی شوند تا بتوانند بدون سرور مرکزی اجرا شوند.
تکنولوژیهای جدید:
برنامهنویسان باید با تکنولوژیهای جدیدی مانند بلاکچین، ارکستراسیون سرویسها، رابطهای P2P و... آشنا شوند.
امنیت و رمزنگاری:
امنیت و رمزنگاری دادهها اهمیت بیشتری پیدا میکند.
فرانتاند:
در فرانتاند تغییراتی مانند استفاده از وب سهبعدی و واقعیت افزوده، اتصال به دیتابیسهای توزیعشده و انجام معاملات بر پایه بلاکچین خواهیم داشت.
سوال:
توی وب 3.0 دیگه مفهومی به اسم سرور و کلاینت داریم؟
دیگه دقیقا مانند گذشته مفهوم سرور و کلاینت مثل قبل در وب 3.0 وجود نداره.
به جای آن داریم:
نودهای متصل به بلاکچین (Blockchain Nodes): هر دستگاهی که به بلاکچین متصل باشه میتونه نقش سرور رو ایفا کنه و دیتا رو ذخیره و ارتباط برقرار کنه.
کاربران/دستگاههای متصل (Connected Users/Devices): نقش کلاینت رو دارن و میتونن با بقیه ارتباط برقرار کنن و از شبکه استفاده کنن.
یعنی دیگه مرزهای مشخص مفهومی سرور و کلاینت وجود نداره و هر دستگاهی میتونه هر دو نقش رو ایفا کنه. شبکه هم به صورت غیرمتمرکز مدیریت میشه.
پس میتونیم بگیم در وب 3.0 دیگه از مفهوم سنتی سرور و کلاینت استفاده نمیشه.
#وب #web
@khat_academy
2 996
خب حالا که Web 3.0 به عنوان نسل بعدی وب و آینده وب به شمار میاد. چه تفاوتی رو برای توسعه دهندگان وب نسب به نسل قبلی وب بوجود میاره؟
تو پست بعدی چند تا از سوالات پر تکرارو با هم بررسی میکنیم
#وب #web
@khat_academy
2 996
Web 3.0
وب 3.0، که بهش همچنین "وب نسل بعدی" میگویند، نسل جدیدی از تکنولوژی و بسترهای اینترنتی است که قدرتمندتر، هوشمندتر و تعاملیتر از نسلهای قبلی وب است. وب 3.0 به عنوان یک تحول بزرگ در اینترنت معرفی شده و قدرتهای جدیدی را برای کاربران و برنامهنویسان فراهم میکند.
تکنولوژی بلاکچین و توکنهای دیجیتال:
یکی از اصلیترین فناوریهایی که وب 3.0 از آن استفاده میکند، تکنولوژی بلاکچین است. بلاکچین امکان ارتباطات مستقیم و بدون واسطه میان کاربران را فراهم میکند. در واقع بلاکچین یک پایگاه داده مشترک و توزیعشده است که بهطور همزمان در کامپیوترهای مختلف نگهداری میشود و امکان ذخیره دادهها و انجام معاملات را بدون نیاز به بانک و سازمان مرکزی فراهم میکند.
همچنین توکنهای دیجیتال نقش مهمی در اقتصاد وب 3.0 دارند. توکنها مانند پول الکترونیکی عمل میکنند اما بر خلاف پول معمولی، آنها رمزنگاری و امنیت بیشتری دارند. با استفاده از توکنها میتوان برای دریافت خدمات و محتوا در وب 3.0 پرداخت کرد.
دموکراتیزهتر شدن شبکه:
هدف از وب 3.0 این است که کنترل شبکه اینترنت از دست شرکتهای بزرگ فناوری بگیرد و بهصورت غیرمتمرکز در آید تا کاربران بتوانند خودشان مدیریت و ارتباط خود را در شبکه تعیین کنند. این موضوع دموکراسی بیشتری را در وب تضمین میکند.
#وب #web
@khat_academy
2 996
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 996
چند تا مثال از ریخت وب تو زمون جنگ (Web 1.0)
نظرتون چیه ؟ بنظر من قدیما مردم خیلی بدبختی میکشیدن 😁
#وب #web
@khat_academy
2 996
Web 1.0
عصر وب 1.0 یک فاز اولیه از توسعه وب است که در دهه 1990 میلادی شکل گرفت. در این دوره، وبسایتها از طریق اتصالهای اینترنتی ارتباط برقرار میکردند و اطلاعات به صورت اصولاً ثابت به کاربران ارائه میشد. در این سیستم، کاربران توانایی تعامل مستقیم با محتوا را نداشتند و صرفاً محتوای تعبیه شده در وبسایتها را مشاهده میکردند.
وب 1.0 بیشتر بر اساس مدل مطالعه کننده-بازتابدهنده عمل میکرد. کاربران توسط مرورگرها به وبسایتها متصل میشدند و صفحات وب به صورت استاتیک برای آنها نمایش داده میشدند. این صفحات معمولاً شامل متنها، تصاویر و لینکها بودند و تعامل با آنها به حداقل میرسید. تغییرات کمی در محتوا صورت میگرفت و به صورت دستی توسط توسعهدهندگان انجام میشد(😱😱).
بیشتر وبسایتهای دهه 1990 به صورت اطلاعاتی بودند و برای انتشار اخبار، اطلاعات تماس، محصولات و خدمات استفاده میشدند. برخی از وبسایتها قادر به ارائه محتوای تعاملی نیز بودند، اما این تعاملات محدود به فرمها و موارد سادهای مانند ارسال فرمها و ایمیل بود.
یکی از محدودیتهای عصر وب 1.0 عدم وجود فضای اجتماعی بزرگ بود. بیشتر وبسایتها به صورت جداگانه عمل میکردند و کاربران نمیتوانستند به راحتی با یکدیگر در ارتباط باشند یا محتوا را به اشتراک بگذارند. همچنین، تکنولوژیهای مرورگر نیز در این دوره نسبتاً محدود بود و قابلیتهای پیچیدهتری مانند پخش ویدیو یا اجرای برنامههای تعاملی را نداشت.
به طور کلی، عصر وب 1.0 فازی است که بر پایه ارائه اطلاعات ثابت برای کاربران ساخته شد. در این دوره، تعامل کمتری با کاربران بود و وبسایتها اصولاً برای ارائه محتوا و اطلاعات به صورت یکطرفه استفاده میشدند. با ظهور فناوریهای جدید و توسعه وب، عصر وب 1.0 به مرور به عصر وب 2.0 تکامل یافت و تعاملات بیشتری با کاربران فراهم آمد.
در عصر وب 1.0، وبسایتها اصولاً از زبان HTML (اچتیامال) برای توصیف و نمایش صفحات استفاده میکردند. همچنین، تکنولوژیهایی مانند CSS (برگهٔ استایل متصل) برای طراحی صفحات و جاوا اسکریپت برای اضافه کردن برخی از عناصر تعاملی مورد استفاده قرار میگرفتند، اما امکانات آنها محدود بود.
به طور خلاصه، عصر وب 1.0 مرحلهٔ ابتدایی توسعه وب بود که بر اساس ارائه اطلاعات ثابت برای کاربران تمرکز داشت. این دوره با وجود محدودیتها، پایههای مهمی را برای توسعه وب بعدی فراهم کرده است و نشان از تکامل پیوستهٔ تکنولوژی وب دارد.
#وب #web
@khat_academy
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
