KavLabs
خانهبلاگ
KavLabs

یادداشت‌هایی از ذهن‌های کاوشگر، برای ذهن‌های کنجکاو

پرهام·پرهام·زال·زال·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
نوشته‌هادسته‌بندی‌هاجستجوی پیشرفتهلاگ تغییرات

©۲٬۰۲۶ KavLabs — تمام حقوق محفوظ است

ساخته‌شده با عشق توسط پرهام و زال

واژه‌نامه
۰۴ اسفند ۱۴۰۴احراز هویتپیشرفتهزبان: فارسی

امنیت JWT(JWT)

پیشرفتهنسخه انگلیسی

توکن‌های JSON Web Token برای احراز هویت استفاده می‌شوند و باید به درستی پیاده‌سازی و محافظت شوند.

توکناحراز-هویتapisignature

امنیت JWT چیه؟

خلاصه در یه جمله: JWT توکنیه برای احراز هویت، اگه درست پیاده‌سازی نشه هکر می‌تونه جعلش کنه و وارد اکانت بقیه بشه!

فرض کن یه کارت عضویت داری که امضا شده. اگه امضا رو بتونی جعل کنی، می‌تونی کارت فیک بسازی و خودت رو عضو جا بزنی! JWT همینه — یه توکنه که امضا داره. اگه امضا رو درست چک نکنی، هکر می‌تونه توکن فیک بسازه.

ساختار JWT:

Header: الگوریتم و نوع توکن Payload: داده‌ها (مثل user_id, role) Signature: امضا برای تأیید اعتبار

مشکلات رایج JWT:

۱. الگوریتم None: هکر الگوریتم رو می‌کنه none، امضا رو حذف می‌کنه. سرور اگه چک نکنه، توکن رو قبول می‌کنه!

۲. کلید ضعیف: کلید امضا کوتاه یا قابل حدسه. هکر Brute Force می‌کنه.

۳. عدم تأیید امضا: سرور اصلاً امضا رو چک نمی‌کنه!

۴. داده‌های حساس تو Payload: Payload رمزنگاری نمی‌شه، فقط Base64 می‌شه. هر کسی می‌تونه بخونه!

۵. انقضای طولانی: توکن تاریخ انقضا نداره یا طولانیه. هکر اگه بدزدش، ماه‌ها می‌تونه استفاده کنه!

چرا برای امنیت مهمه؟

چون JWT برای احراز هویت استفاده می‌شه. اگه JWT رو هکر جعل کنه، می‌تونه وارد اکانت هر کسی بشه، حتی ادمین!


منابع و مراجع

  • jwt.io/introduction
  • auth0.com/blog/jwt-security-best-practices

مفاهیم مرتبط

رابط برنامه‌نویسی کاربردی(API)

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