ملف تعريف الارتباط: في بعض الأحيان يتم استخدام ملفات تعريف الارتباط بصيغة الجمع أيضًا. النوع هو "ملف نصي صغير"، وهو عبارة عن بيانات (مشفرة عادةً) مخزنة على الجهاز المحلي للمستخدم بواسطة بعض مواقع الويب من أجل تحديد هوية المستخدم وإجراء تتبع الجلسة، ويتم حفظ المعلومات بشكل مؤقت أو دائم بواسطة كمبيوتر العميل الخاص بالمستخدم.
لتشغيل ملفات تعريف الارتباط مع العقدة، نحتاج إلى وحدة cookie-parser
npm i cookie-parser -s.
بعد ذلك، قم بتقديم هذه الوحدة في ملفنا
// تقديم الوحدة السريعة const Express = require('express') // إنشاء مثيل سريع تطبيق ثابت = صريح () // وحدة ملفات تعريف الارتباط الخاصة بالتشغيل const cookieParser = require('cookie-parser'); // أضف توقيع ملف تعريف الارتباط app.use(cookieParser('Really Outrageous')); // استخدم البرامج الوسيطة لملفات تعريف الارتباط، والقيمة المشفرة هي:اسم
تفاصيل المعلمة
"الفاحشة حقًا": اسم يحدد ملف تعريف الارتباط بشكل فريد.
القيمة: قيمة السلسلة المخزنة في ملف تعريف الارتباط.
المجال: ملف تعريف الارتباط صالح لهذا المجال.
المسار: يشير إلى المسار المتأثر بملف تعريف الارتباط هذا، وسيقوم المتصفح بإرسال ملفات تعريف الارتباط إلى المسار المطابق في المجال المحدد بناءً على هذا التكوين.
انتهاء الصلاحية: وقت انتهاء الصلاحية، يشير إلى وقت انتهاء صلاحية ملف تعريف الارتباط. إذا لم يتم ضبط هذا الوقت، فسيقوم المتصفح بحذف جميع ملفات تعريف الارتباط عند إغلاق الصفحة، ولكن يمكننا أيضًا ضبط وقت انتهاء الصلاحية بأنفسنا.
ملاحظة: إذا كان الوقت المحدد على العميل والخادم غير متسق، فسيكون هناك انحراف عند انتهاء صلاحية الاستخدام.
max-age: يُستخدم لإخبار المتصفح بالمدة التي ستنتهي فيها صلاحية ملف تعريف الارتباط هذا (بالثواني)، بشكل عام، يكون لـ max-age أولوية أعلى من انتهاء الصلاحية.
HttpOnly: أخبر المتصفح بعدم السماح للبرنامج النصي document.cookie بتغيير القيمة. هذه القيمة غير مرئية أيضًا في document.cookie، ولكن سيتم تنفيذ ملف تعريف الارتباط هذا في طلب http.
ملاحظة: على الرغم من أن هذه القيمة غير مستحسنة في البرامج النصية، إلا أنها موجودة في شكل ملف في دليل تثبيت المتصفح. يتم تعيين هذا الإعداد بشكل عام على جانب الخادم.
آمن: علامة أمان. عند تحديده، عندما يكون آمنًا صحيحًا، فهو غير صالح في HTTP وصالح فقط في HTTPS. وهذا يعني أنه لا يمكن تمرير ملف تعريف الارتباط الذي تم إنشاؤه إلا عن طريق المتصفح إلى الخادم للتحقق من الجلسة في اتصال HTTPS اتصالات HTTP لا تمرر هذه المعلومات، لذلك لا يتم سماعها بشكل عام.
فيما يتعلق بقضايا القراءة،
req.cookies: يقرأ ملفات تعريف الارتباط غير المشفرة لدينا؛
req.signedCookies: يقرأ ملفات تعريف الارتباط المشفرة لدينا.
حالة
app.get('/', (req, res) => { res.cookie('cart', { items: [1, 2, 3] }, { maxAge: 10000 * 2, httpOnly: true,signed: true, path: '/' }); res.cookie('user', 'Zhang San', { httpOnly: true، المسار: '/user'، التوقيع: true }) إرسال ('موافق') console.log(req.cookies) console.log(req.signedCookies) })
app.get('/user', (req, res) => { console.log(req.cookies) res.send(req.signedCookies) })
app.get('/news', وظيفة (req, res) { res.cookie('Age', 'Dabai', { maxAge: 10000 * 2, httpOnly: true,signed: true }) res.cookie('Age', '0', { maxAge: 0 }); //حذف ملف تعريف الارتباط res.send('مرحبًا بأخبار Nodejs') })
سيتم حذف cookie
الخاصة بنا عندما يكون maxAge
0
.