ساختار 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
بررسی استاندارد احراز هویت JWT توی پروژه qanda.
لینک گیت هاب:
https://github.com/alireza-fa/question-and-answer
Model
اولین کاری که میکنیم اینه یک مدل به اسم UserLogin مینویسیم.
اینکه چه فیلد هایی رو میخواید قرار بدید انتخاب خودتونه اما فیلد های مورد نیاز ما این موارد هستش:
user_id
refresh token
expired_at
device
ip_address
Token
یکی از کارهای دیگه که کردیم این هستش که یک سری اطلاعات بیشتری رو توی payload توکن هامون قرار دادیم که این فیلد ها هستش:
username
email
first_name
last_name
device_name
ip_address
دلیل اینکه اینکارو انجام دادیم چیه؟
با اضافه کردن این اطلاعات پرکاربرد دیگه نیاز نیست هر بار از سمت دیتابیس بگیریم.
Encrypt / Decrypt
میخوایم اطلاعاتی که توی payload توکن قرار دادیم قابل دیدن نباشه. پس میایم توکن رو encrypt شده سمت کلاینت ارسال می کنیم و هر وقت که نیاز بود سمت بک اند decrypt میکنیم و عملیات اعتبار سنجی و هرچیزی نیاز هستش رو انجام می دیم.
چجوری توکن رو امن تر کردیم؟
تو مدل UserLogin اطلاعات کاربر موقعی که لاگین می کنه ذخیره کردیم. مثل نام دستگاه و آدرس آی پی. همچنین توی توکن هم اضافه کردیم.
کاری که می کنیم اینه چک می کنیم شخصی که میخواد اکسس توکن جدید بگیره ip address و device name همونه یا نه. اگه اون نبود توکن رو نامعتبر می شماریم.
همچنین برای امنیت بیشتر تو هر درخواست اکسس توکن رو هم می تونیم بررسی کنیم که مشخصاتش با شخصی که داره درخواست میده یکی هستش یا نه
برای بررسی بیشتر حتما به ریپازیتوری گیت هاب سر بزنید. برای حمایت ستاره بدید ممنون میشم.
#JWT
@khat_academy
لینک گیت هاب:
https://github.com/alireza-fa/question-and-answer
Model
اولین کاری که میکنیم اینه یک مدل به اسم UserLogin مینویسیم.
اینکه چه فیلد هایی رو میخواید قرار بدید انتخاب خودتونه اما فیلد های مورد نیاز ما این موارد هستش:
user_id
refresh token
expired_at
device
ip_address
Token
یکی از کارهای دیگه که کردیم این هستش که یک سری اطلاعات بیشتری رو توی payload توکن هامون قرار دادیم که این فیلد ها هستش:
username
first_name
last_name
device_name
ip_address
دلیل اینکه اینکارو انجام دادیم چیه؟
با اضافه کردن این اطلاعات پرکاربرد دیگه نیاز نیست هر بار از سمت دیتابیس بگیریم.
Encrypt / Decrypt
میخوایم اطلاعاتی که توی payload توکن قرار دادیم قابل دیدن نباشه. پس میایم توکن رو encrypt شده سمت کلاینت ارسال می کنیم و هر وقت که نیاز بود سمت بک اند decrypt میکنیم و عملیات اعتبار سنجی و هرچیزی نیاز هستش رو انجام می دیم.
چجوری توکن رو امن تر کردیم؟
تو مدل UserLogin اطلاعات کاربر موقعی که لاگین می کنه ذخیره کردیم. مثل نام دستگاه و آدرس آی پی. همچنین توی توکن هم اضافه کردیم.
کاری که می کنیم اینه چک می کنیم شخصی که میخواد اکسس توکن جدید بگیره ip address و device name همونه یا نه. اگه اون نبود توکن رو نامعتبر می شماریم.
همچنین برای امنیت بیشتر تو هر درخواست اکسس توکن رو هم می تونیم بررسی کنیم که مشخصاتش با شخصی که داره درخواست میده یکی هستش یا نه
برای بررسی بیشتر حتما به ریپازیتوری گیت هاب سر بزنید. برای حمایت ستاره بدید ممنون میشم.
#JWT
@khat_academy
👍13
لینک اشتراک گذاری تو شبکه های اجتماعی مختلف.
آکولاد اول لینک اون صفحه از وب سایتتون که میخواید به اشتراک بذارید رو میدید. آکولاد دوم توضیح درباره اون لینکه که بعضی از شبکه های اجتماعی میگیرنش
FACEBOOK:
https://www.facebook.com/sharer/sharer.php?u={}
TWITTER:
https://twitter.com/intent/tweet?url={}&text={}
LINKEDIN:
https://www.linkedin.com/shareArticle?mini=true&url={}&noscript={}
PINTEREST:
https://www.pinterest.com/pin/find/?url={}&denoscription={}
TUMBLE:
http://www.tumblr.com/share?v=3&u={}&t={}
TELEGRAM:
https://telegram.me/share/url?url={}&text={}
GOOGLE_PLUS:
https://plus.google.com/share?url={}
WHATSAPP:
whatsapp://send?text={}
@khat_academy
آکولاد اول لینک اون صفحه از وب سایتتون که میخواید به اشتراک بذارید رو میدید. آکولاد دوم توضیح درباره اون لینکه که بعضی از شبکه های اجتماعی میگیرنش
FACEBOOK:
https://www.facebook.com/sharer/sharer.php?u={}
TWITTER:
https://twitter.com/intent/tweet?url={}&text={}
LINKEDIN:
https://www.linkedin.com/shareArticle?mini=true&url={}&noscript={}
PINTEREST:
https://www.pinterest.com/pin/find/?url={}&denoscription={}
TUMBLE:
http://www.tumblr.com/share?v=3&u={}&t={}
TELEGRAM:
https://telegram.me/share/url?url={}&text={}
GOOGLE_PLUS:
https://plus.google.com/share?url={}
WHATSAPP:
whatsapp://send?text={}
@khat_academy
❤4🔥3
از کی تا حالا شرکتای آمریکایی از طریق جابینجا نیرو جذب می کنن!
یه شرکت آمریکایی این ایملو بهم فرستاده. خودمم تعجب کردم
@khat_academy
یه شرکت آمریکایی این ایملو بهم فرستاده. خودمم تعجب کردم
@khat_academy
😱9😁2
تو تیممون به یکی نیاز داریم بتونه ادیت ویدیو انجام بده.
در حد حرفه ای نه، برای ریلز های اینستا و اینجور محتوا ها
اگه کسی دوست داره جز تیممون شه بهم پی ام بده
@alireza_fai
در حد حرفه ای نه، برای ریلز های اینستا و اینجور محتوا ها
اگه کسی دوست داره جز تیممون شه بهم پی ام بده
@alireza_fai
🎉6👍3
تغییر name server توی لینوکس
تو اکثر سیستم عامل هایی که بیسش لینوکسه،داخل فایل
/etc/resolv.conf
سرور های دی ان اس رو مشخص می کنیم.
حداقل باید یک نیم سرور توی فایل وجود داشته باشه که بصورت پیشفرض مساوی با
nameserver 127.0.0.53
هستش.
برای تغییر کافیه ترمینالتونو باز کنید و این دستورو بزنید:
sudo nano /etc/resolv.conf
بعدش دنبال nameserver بگردید و بجای 127.0.0.53 نیم سروری که میخواید جایگزین کنیدو وارد کنید.
نکته:
توی nano برای سیو کردن crt + o رو بزنید و بعدش enter. برای خروج ctr + x رو بزنید.
چه مواقع استفاده می کنیم؟
با توجه به اینکه تو ایران زندگی می کنیم خیلی وقت ها !
مثلا اگه بخواید از داکر استفاده کنید نیازه که دی ان اس خودتونو تغییر بدید.
@khat_academy
تو اکثر سیستم عامل هایی که بیسش لینوکسه،داخل فایل
/etc/resolv.conf
سرور های دی ان اس رو مشخص می کنیم.
حداقل باید یک نیم سرور توی فایل وجود داشته باشه که بصورت پیشفرض مساوی با
nameserver 127.0.0.53
هستش.
برای تغییر کافیه ترمینالتونو باز کنید و این دستورو بزنید:
sudo nano /etc/resolv.conf
بعدش دنبال nameserver بگردید و بجای 127.0.0.53 نیم سروری که میخواید جایگزین کنیدو وارد کنید.
نکته:
توی nano برای سیو کردن crt + o رو بزنید و بعدش enter. برای خروج ctr + x رو بزنید.
چه مواقع استفاده می کنیم؟
با توجه به اینکه تو ایران زندگی می کنیم خیلی وقت ها !
مثلا اگه بخواید از داکر استفاده کنید نیازه که دی ان اس خودتونو تغییر بدید.
@khat_academy
👍8
قراره یکی از مقالات خوب در خصوص server hardening در لینوکس رو بصورت ترجمه شده با توضیحات کامل تر توی یه کانال تخصصی قرارش بدم.
اگه برای شما هم مسائل امنیتی سرور جذابه و باهاش سر و کار دارید اینجا هم قرارش میدم(واقعا زیاده هر نکته تقریبا اندازه یه مقالست)
اگه برای شما هم مسائل امنیتی سرور جذابه و باهاش سر و کار دارید اینجا هم قرارش میدم(واقعا زیاده هر نکته تقریبا اندازه یه مقالست)
Anonymous Poll
83%
قرارش بدم
17%
قرارش ندم
گوگلو قانونی دور بزن !
تو این مقاله درباره سئو کلاه خاکستری توضیح دادیم و چند روش برای پیاده سازیش مثال زدیم که به شما این امکانو میده تو مدت زمان کم سئو وب سایتتون تقویت بشه
@khat_academy
تو این مقاله درباره سئو کلاه خاکستری توضیح دادیم و چند روش برای پیاده سازیش مثال زدیم که به شما این امکانو میده تو مدت زمان کم سئو وب سایتتون تقویت بشه
@khat_academy
Telegraph
سئو کلاه خاکستری
- گوگل رو قانونی دور بزن!
🔥6👍3
چهل نکته درباره Linux Server Hardening (قسمت اول)
تو قسمت اول نکته یک تا ده رو بهتون گفتم.
امیدوارم براتون مفید باشه 👌
#hardening
@khat_academy
تو قسمت اول نکته یک تا ده رو بهتون گفتم.
امیدوارم براتون مفید باشه 👌
#hardening
@khat_academy
Telegraph
چهل نکته درباره Linux Server Hardening
👍8🔥3
اگه اول راه هستید و نمیدونید کدوم فیلد مناسب شماست.
اگه میخواید لینکدین حرفه ای داشته باشید و رزومه خوبی برای خودتون درست کنید
این کانال همه این موارد رو پوشش میده
راستی توجه اصلی کانال روی مباحث هوش مصنوعی هستش
پس اگه علاقه مند به این موضوعات هستید حتما دنبال کنید
آدرس کانال:
https://news.1rj.ru/str/MobiFacts
#معرفی_کانال
@khat_academy
اگه میخواید لینکدین حرفه ای داشته باشید و رزومه خوبی برای خودتون درست کنید
این کانال همه این موارد رو پوشش میده
راستی توجه اصلی کانال روی مباحث هوش مصنوعی هستش
پس اگه علاقه مند به این موضوعات هستید حتما دنبال کنید
آدرس کانال:
https://news.1rj.ru/str/MobiFacts
#معرفی_کانال
@khat_academy
👍7
🔥13
« از اون بالا کفتر میایه »
شهاب تیام که با آهنگ «از اون بالا کفتر میایه» شناخته میشه مهندس سخت افزار هستش و پونزده سالی توی اینتل مشغول به فعالیت بوده و الانم تو یه شرکت جدید شروع به فعالیت کرده :)
بله. بعضی وقتا زندگی مسیری رو برات میچینه که فکرشم نمیکردی
(باورت نمیشه کامنتو نگاه کن)
https://www.linkedin.com/in/shahab-tiam-a873b14/
@khat_academy
شهاب تیام که با آهنگ «از اون بالا کفتر میایه» شناخته میشه مهندس سخت افزار هستش و پونزده سالی توی اینتل مشغول به فعالیت بوده و الانم تو یه شرکت جدید شروع به فعالیت کرده :)
بله. بعضی وقتا زندگی مسیری رو برات میچینه که فکرشم نمیکردی
(باورت نمیشه کامنتو نگاه کن)
https://www.linkedin.com/in/shahab-tiam-a873b14/
@khat_academy
😱7🤣3👍2
سیر تحول فنی «کوییز آو کینگز»: مسیری که باعث تعجب تیم یوتیوب شد!
https://virgool.io/@mohammad7293/%D8%B3%DB%8C%D8%B1-%D8%AA%D8%AD%D9%88%D9%84-%D9%81%D9%86%DB%8C-%DA%A9%D9%88%DB%8C%DB%8C%D8%B2-%D8%A2%D9%88-%DA%A9%DB%8C%D9%86%DA%AF%D8%B2-%D9%85%D8%B3%DB%8C%D8%B1%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%D8%B9%D8%AB-%D8%AA%D8%B9%D8%AC%D8%A8-%D8%AA%DB%8C%D9%85-%DB%8C%D9%88%D8%AA%DB%8C%D9%88%D8%A8-%D8%B4%D8%AF-h8m7caqni6rg
@khat_academy
https://virgool.io/@mohammad7293/%D8%B3%DB%8C%D8%B1-%D8%AA%D8%AD%D9%88%D9%84-%D9%81%D9%86%DB%8C-%DA%A9%D9%88%DB%8C%DB%8C%D8%B2-%D8%A2%D9%88-%DA%A9%DB%8C%D9%86%DA%AF%D8%B2-%D9%85%D8%B3%DB%8C%D8%B1%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%D8%B9%D8%AB-%D8%AA%D8%B9%D8%AC%D8%A8-%D8%AA%DB%8C%D9%85-%DB%8C%D9%88%D8%AA%DB%8C%D9%88%D8%A8-%D8%B4%D8%AF-h8m7caqni6rg
@khat_academy
👍8
تفاوت سایز Json با Protobuf
Json: 214
Protobuf: 53
حدودا چهار برابر بیشتره. (البته تو این کیس و تو این حالت)
@khat_academy
Json: 214
Protobuf: 53
حدودا چهار برابر بیشتره. (البته تو این کیس و تو این حالت)
@khat_academy
👍8
تو این قسمت از khat weekly، مهمون ما امین علی مزاریان هست که توسعه دهنده بک انده (Python Back-end developer)
اما جز اینکه تو برنامه نویسی کارش خوبه،توی مهارت های نرم و رزومه نویسی هم تجربیات خوبی داره و قراره تو میت از ساخت یک رزومه مناسب تا مصاحبه صحبت کنیم 💥
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون قراره کلی چیز از امین علی یاد بگیریم.
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی پادکست دربارش صحبت کنیم
تاریخ میت:
چهارشنبه ۱۹ مهر ساعت ۱۹:۰۰
LinkedIn
Github
#meet #weekly
@khat_academy
اما جز اینکه تو برنامه نویسی کارش خوبه،توی مهارت های نرم و رزومه نویسی هم تجربیات خوبی داره و قراره تو میت از ساخت یک رزومه مناسب تا مصاحبه صحبت کنیم 💥
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون قراره کلی چیز از امین علی یاد بگیریم.
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی پادکست دربارش صحبت کنیم
تاریخ میت:
چهارشنبه ۱۹ مهر ساعت ۱۹:۰۰
Github
#meet #weekly
@khat_academy
👍5🔥2🥰1👏1😁1