مضحي Modhy نشر 21 أغسطس 2021 أرسل تقرير نشر 21 أغسطس 2021 السلام عليكم هل المكتبة تقوم بمقارنة التوكن القادم من المستخدم بالذي تم ارساله له ؟ ام يجب علي حفظ التوكن المنشئ في كل مره ومقارنته بنفسي ؟ علماً اني استخدمها في spa وكيف يمكن تغيير خيارات الكوكيز في المكتبة بحيث اعدل key او httponly وغيرها. 1 اقتباس
1 Hassan Hedr نشر 21 أغسطس 2021 أرسل تقرير نشر 21 أغسطس 2021 تقوم المكتبة بإنشاء وإرسال التوكن للزبون وعند إرسال الزبون لطلب يجب ان يحتوي على التوكن المرسلة من المخدم، وتقوم المكتبة بالتحقق منها هل هي مولدة من مخدمك أم لا (دون الحاجة لتخزين واسترداد أي توكن) بما انك تستخدم SPA يمكنك ارسال اتوكن مع ال Cookie للمتصفح عندما يطلب الموقع، وبذلك سيقوم المتصفح بارسال كل ال Cookie التي استلمها مع كل طلب يقوم به تلقائيا بدون الحاجة لأن تبرمج ذلك يدويا كالتالي app.all('*', function (req, res) { res.cookie('XSRF-TOKEN', req.csrfToken()) // تعيين التوكن في الـ Cookie ... // نقوم الآن بإرسال ملفات الموقع }) يمكنك تعديل خصائص ال Cookie بتمرير غرض عوضًا عن true كالتالي csrf({ cookie: { key: '...', //اسم ال Cookie httpOnly: true, // تفعيل httpOnly } }) 1 اقتباس
1 Hassan Hedr نشر 22 أغسطس 2021 أرسل تقرير نشر 22 أغسطس 2021 (معدل) بتاريخ 9 ساعات قال مضحي Modhy: كيف يتم هذا التحقق من قبل المكتبة ؟ تستخدم المكتبة داخليا مكتبة csrf وهي تتولى عملية توليد التوكن والتحقق منها باستخدام ال Hashing بتاريخ 9 ساعات قال مضحي Modhy: عند ارسال التوكن بهذه الطريقة يكون في الكوكيز رمزان إذا كنت تستخدم Angular فهو سيتعرف تلقائيا على ال Cookie بالاسم "XSRF-TOKEN" ويقوم بارسالها مع كل طلب لاحق عند توليد الطلبات (يمكنك تجاهل هذه الطريقة إذا كنت تستخدم منصة أو مكتبة أخرى) بتاريخ 9 ساعات قال مضحي Modhy: وررمز اخر باسم _csrf لا تتغير قيمته نهائياً هذا هو الرمز الافتراضي التي ترسله المكتبة وفيه التوكن المولدة يمكنك كما أشرت سابقًا تغيير اسم هذا الرمز اذا أردت عن طريق csrf({ cookie: { key: '...', // اسم الرمز الافتراضي } }) تم التعديل في 22 أغسطس 2021 بواسطة Hassan Hedr 1 اقتباس
0 مضحي Modhy نشر 22 أغسطس 2021 الكاتب أرسل تقرير نشر 22 أغسطس 2021 بتاريخ 11 ساعات قال Hassan Hedr: وتقوم المكتبة بالتحقق منها هل هي مولدة من مخدمك أم لا (دون الحاجة لتخزين واسترداد أي توكن) كيف يتم هذا التحقق من قبل المكتبة ؟ بتاريخ 11 ساعات قال Hassan Hedr: res.cookie('XSRF-TOKEN', req.csrfToken()) // تعيين التوكن في الـ Cookie عند ارسال التوكن بهذه الطريقة يكون في الكوكيز رمزان، هذا الذي ارسلته وررمز اخر باسم _csrf لا تتغير قيمته نهائياً !!! لماذا الرمز الثاني ؟ اقتباس
السؤال
مضحي Modhy
السلام عليكم
هل المكتبة تقوم بمقارنة التوكن القادم من المستخدم بالذي تم ارساله له ؟
ام يجب علي حفظ التوكن المنشئ في كل مره ومقارنته بنفسي ؟
علماً اني استخدمها في spa
وكيف يمكن تغيير خيارات الكوكيز في المكتبة بحيث اعدل key او httponly وغيرها.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.