मुझे एक्सप्रेसज फ्रेमवर्क में एक सुरक्षित कुकी सेट करने का कोई तरीका नहीं दिख रहा है। क्या कहीं ऐसा करने का कोई विकल्प है?एक्सप्रेसज सुरक्षित सत्र कुकी
उत्तर
documentation आधार पर, इस प्रयास करें:
res.cookie('rememberme', 'yes', { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true });
res.cookie(name, val[, options])
का उपयोग विकल्प httpOnly
, secure
, expires
, आदि path
विकल्प चूक एप्लिकेशन की basepath
की स्थापना, के साथ, val
को दिया कुकी नाम सेट जो आमतौर पर "/"
है।
अधिक जानकारी के लिए docs for res.cookie
देखें।
आप एक प्रॉक्सी के पीछे हैं, तो आप यह भी सुनिश्चित करना है कि यह X-Forwarded-Proto
हैडर भेज रहा है और है कि आप प्रॉक्सी विकल्प सेट है:
app.use(express.session({
proxy: true,
secret: 'test',
cookie: {
secure: true
}
}));
वैकल्पिक रूप से, आप एक्सप्रेस बता विश्व स्तर पर प्रॉक्सी पर भरोसा कर सकते हैं:
app.set('trust proxy', 1)
'प्रॉक्सी: सच 'मेरे लिए नोडजित्सु पर अपराधी था, धन्यवाद! –
हेरोोकू और मॉड्यूलस पर एक ही समस्या। स्वीकार्य उत्तर बहिष्कृत किया गया है, यह जाने का रास्ता है। –
अच्छी तरह से मैंने कनेक्ट डॉक्स में सत्र सेटिंग्स ऑब्जेक्ट में इसे सेट करने का प्रयास किया। 'Key: 'session_cookie' की तरह, कुकी: {maxAge: bl bla, safe: true} 'लेकिन यह काम नहीं करता है:/मैं नाम बदल सकता हूं और इसी तरह, लेकिन इसे सुरक्षित करने के लिए सेट नहीं किया गया। इस पर कुछ भी नहीं मिल रहा है ... – georgesamper
क्या आपके लिए httpOnly optoin काम करता है? – dchrastil
हां वह विकल्प भी काम करता है! एकमात्र ऐसा जो काम नहीं करता है वह सुरक्षित विकल्प है। यह एक हाहा – georgesamper