تخزين التوكن في LocalStorage: الخطأ اللي يخلي أي XSS يسرق حسابك بالكامل
يا جماعة، خلونا نغيّر الزاوية اليوم. المرة اللي فاتت تكلمنا عن منطق الأعمال. اليوم بنفتح شيء ثاني تمامًا، شيء كل واحد يستخدمه كل يوم، بس نادرًا جدًا يوقف ويفهمه بعمق. التخزين في المتصفح… الذاكرة العشوائية الحقيقية لتطبيقات الويب. كثير ناس يظنون إن الأمان كله على السيرفر. يقولون: "الـ Backend محمي، الـ Token صحيح، الـ IDOR مسكر… خلاص". بس هم ينسون إن جزء كبير من حالة التطبيق يعيش في المتصفح نفسه، زي ما الـ RAM تعيش فيها العمليات قبل ما تموت. الـ Cookies، الـ LocalStorage، الـ SessionStorage، الـ IndexedDB… هذي هي الذاكرة الحية للتطبيق. وفيها أسرار كثيرة تموت لو أعدت تحميل الصفحة، وفيها أسرار ثانية تبقى أيام وأسابيع. ليش هالنوع من "الذاكرة" خطير أكثر مما تتخيل؟ لأن المهاجم ما يحتاج يكسر السيرفر دائمًا. أحيانًا يكفي إنه يقرأ اللي موجود في ذاكرة المتصفح في اللحظة الصح. تخيل: الـ Access Token محطوط في LocalStorage. الـ Refresh Token في Cookie بدون HttpOnly. بيانات المستخدم الحساسة مخزنة في SessionStorage عشان "تجربة أفضل". أو حتى مفاتيح مؤقتة للتشفير متولدة في...