2013-07-18 7 views
5

कुकी का उपयोग करने के बजाय मैं एक जेडब्ल्यूटी टोकन का उपयोग कर रहा हूं जो हर अनुरोध के साथ भेजता है। प्रत्येक अनुरोध एक POST अनुरोध है ताकि टोकन ब्राउज़र के इतिहास में सहेजा नहीं जा सके।एसएसएल सक्षम साइट पर कुकी के बजाय जेडब्ल्यूटी का उपयोग

यह एक एकल पृष्ठ ऐप है।

टोकन लगता है:

{ 
    userId: 12345678, 
    expires: <UNIX timestamp>, 
    otherInfo: <something> 
} 

सब कुछ एसएसएल सुरक्षित है। जब उपयोगकर्ता लॉग ऑन करता है तो सर्वर पर टोकन बनाया जाता है।

क्या यह कुकी को प्रतिस्थापित करने का कोई अच्छा तरीका होगा या आप किसी भी दोष को देखते हैं?

+0

जीईटी अनुरोधों के लिए भी ब्राउज़र इतिहास एक पृष्ठ-ऐप के लिए समस्या क्यों होगी? AJAX अनुरोध ब्राउज़र इतिहास में नहीं उतरते हैं। लेकिन बेहतर रूप से टोकन को "प्राधिकरण" शीर्षलेख में रखें, इसलिए यदि आप GET का उपयोग करते हैं तो यह गलती से एक्सेस लॉग में दिखाई नहीं देता है। –

उत्तर

1

नहीं, यह एक अच्छा समाधान नहीं है। क्रॉस-अनुरोध दृढ़ता के लिए कुकीज़ का उपयोग करना (httpOnly ध्वज के साथ) वैकल्पिक नहीं है - यह सत्र प्रमाण-पत्रों को सुरक्षित रूप से संग्रहीत करने का एकमात्र तरीका है, इस तरह से ऑन-पेज जावास्क्रिप्ट कोड सीधे इसका उपयोग नहीं कर सकता है।

उदाहरण को रोकने के लिए यह आवश्यक है। एक एक्सएसएस हमले में सत्र चोरी, यह सुनिश्चित करके कि स्क्रिप्ट्स क्रेडेंशियल तक नहीं पहुंच पा रहे हैं, लेकिन फिर भी वे सर्वर के अनुरोधों में उपयोग किए जा सकते हैं।

जेडब्ल्यूटी का आपका उपयोग वास्तव में किसी समस्या का समाधान नहीं करता है, या तो - आप मौजूदा सत्र कार्यान्वयन का उपयोग करके सत्र कुकीज़ का उपयोग क्यों नहीं कर सकते? इस तरह की चीज ठीक वही है जो उन्हें बनाई गई है।

संबंधित मुद्दे