2011-08-10 15 views
7

मैं अपनी परियोजना के लिए एक प्रमाणीकरण प्रणाली का निर्माण कर रहा हूं।रेल - सत्रों के लिए कुकीज़ या सक्रिय रिकॉर्ड स्टोर

  • कुकी स्टोर
  • सक्रिय रिकॉर्ड स्टोर

इसके अलावा, क्या के लिए सुरक्षा चिंताएं हैं: दुकान सत्र जानकारी की सिफारिश की दृष्टिकोण (मैं सिर्फ उपयोगकर्ता की आईडी और कुछ नहीं भंडारण कर रहा हूँ) क्या है नेस्टेड रूपों और accepts_nested_attributes_for का उपयोग कर।

कृपया सलाह दें।

बहुत पहले से धन्यवाद।

उत्तर

4

रेल स्टोरेज को डिफ़ॉल्ट रूप से डिफ़ॉल्ट करता है ताकि संभवतः जाने का रास्ता हो। सामान्य कुकी स्टोर में विशेष रूप से उच्च यातायात साइटों के लिए बहुत अच्छा है। आपको सत्र में किसी भी मिशन की महत्वपूर्ण चीजों को स्टोर नहीं करना चाहिए (आप कहते हैं कि आप केवल उपयोगकर्ता आईडी को संग्रहीत कर रहे हैं जो महान है)।

जहां तक ​​सुरक्षा का उपयोग उन लोगों के लिए है ... मुझे नहीं लगता कि बहुत सारे हैं? उन लोगों का उपयोग करने के लिए एक महान ट्यूटोरियल के लिए railscasts देखें। केवल एक चीज जो दिमाग में आती है वह संभावित रूप से उन चीजों को सीमित करने के लिए attr_accessible का उपयोग कर रही है जिन्हें आप बड़े पैमाने पर असाइन कर सकते हैं। यदि आपको इसकी आवश्यकता हो तो भी कैनकन प्रमाणीकरण के लिए एक महान मणि है।

+0

इस पर कोई भी खोज करने के लिए, चाहे आप किस सत्र स्टोर का उपयोग करते हैं, वहां एक कुकी शामिल है। अंतर केवल एक है कि कुकी में सत्र स्वयं होता है या क्या इसमें केवल एक अपारदर्शी पहचानकर्ता है जो डेटाबेस में संग्रहीत सत्र में सहसंबंधित करता है। किसी भी मामले में, यदि सुरक्षा चिंता का विषय है, तो इन प्रकारों में से किसी भी कुकी को गैर-सुरक्षित कनेक्शन पर ट्रांसमिशन की संभावना को रोकने के लिए "सुरक्षित" के रूप में चिह्नित किया जाना चाहिए - जो सत्र अपहरण की संभावना के लिए एक कमजोर छोड़ देगा। –

+0

यदि कुकीज़ डिफ़ॉल्ट रूप से उपयोग की जाती है, तो इसका मतलब यह नहीं है कि वे सुरक्षित हैं। वे तेज़ हैं, डीबी को प्रदूषित नहीं करते हैं, लेकिन सुरक्षित नहीं हैं। – sekrett

0

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

6

कुकीस्टोर का उपयोग करते समय निश्चित रूप से सुरक्षा चिंताएं हैं। मुख्य समस्या यह है कि एक कुकीस्टोर सत्र सर्वर पक्ष पर नहीं मारा जा सकता है। अगर किसी को आपकी कुकीज़ तक पहुंच प्राप्त होती है, तो वह आसानी से आपके रूप में लॉगिन कर सकता है। भले ही आप लॉगआउट करें और एक नई कुकी के साथ एक नया सत्र शुरू करें।

ActiveRecordStore कम से कम आपको डेटाबेस से इसे हटाकर सत्र को अमान्य करने की क्षमता देता है।

यह इसके बारे में एक अच्छा ब्लॉग पोस्ट है। http://www.bryanrite.com/ruby-on-rails-cookiestore-security-concerns-lifetime-pass/

+0

उत्कृष्ट बिंदु। –

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