اذهب إلى المحتوى

السؤال

نشر

لقد حاولت إضافة cookie من قبل الخادم إلى الطلب من خلال الكود التالي في node.js:

res.setHeader('Set-Cookie','testing=testuser');
res.cookie('testcookie', 'hello', { maxAge: 900000 });

ولكن عند الدخول إلى الكونسول والبحث عن ملفات تعريف الارتباط أجدها فارغة ولا أتمكن من الوصول إلى هذه القيم من طرف المستخدم.

كيف يمكنني حل هذه المشكلة؟

Recommended Posts

  • 1
نشر

يقوم إطار العمل express تلقائياً بوضع قيمة الخيار httpOnly إلى true، وبالتالي تصبح ملفات تعريف الارتباط هذه غير قابلة للوصول من طرف الزبون (الجافاسكريبت من خلال المتصفح).

لجعل ملفات تعريف الارتباط قابلة للوصول من قبل كود الجافاسكريبت من طرف الزبون يجب تعديل الكود لديك ليصبح بالشكل التالي:

res.cookie('testcookie', 'hello', { maxAge: 900000, httpOnly: false});

ويجب أيضاً الانتباه إلى نوع الاتصال لديك في حال كان http أو https والقيام بالتعديل المطلوب على الكود بإضافة القيمة secure إما true لـ https أو false ل: http بالشكل الموافق:

res.cookie("testcookie", "hello", { secure:true, maxAge:120000, httpOnly: true });

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...