क्या यह सब कुछ के लिए एक ही टेबल का उपयोग करने से अपने पासवर्ड के लिए उपयोगकर्ता जानकारी रखने के लिए कोई और सुरक्षित है?क्या आप उपयोगकर्ता नाम और पासवर्ड के लिए एक या दो टेबल का उपयोग करेंगे?
उत्तर
नहीं, मैं बस यह करूँगा:
आईडी, उपयोगकर्ता नाम, पासवर्ड।
जहां आईडी सिर्फ ऑटोइनक्रिकमेंट है, उपयोगकर्ता नाम 20 का एक वर्चर है (या तो, आपकी ज़रूरतों के आधार पर) और पासवर्ड नमक के साथ एमडी 5 या SHA1 हैश पासवर्ड है।
इसके लिए दो तालिकाओं का उपयोग करना समझ में नहीं आता है। फिर आपको डेटा प्राप्त करने के लिए जुड़ने के साथ काम करने की ज़रूरत है। और यह सिर्फ एक अनावश्यक बोझ है।
नहीं, यह सुरक्षित नहीं है। बस सुनिश्चित करें कि आपके पासवर्ड को डीबी में संग्रहीत करने से पहले नमकीन + हैश किया गया है।
नहीं, मैं नहीं देख सकता कि यह कैसे सुरक्षित हो सकता है।
आपको वास्तव में पासवर्ड संग्रहीत करने से बचना चाहिए। बस अपने नमकीन हैश स्टोर करें।
अतिरिक्त पठन:
लिंक के लिए धन्यवाद! – expora
+1 बिल्कुल - आपको केवल हैश की तुलना करने की आवश्यकता है बराबर है। –
नहीं। जब तक नहीं हर तालिका इसे उपयोग करने के लिए एक अलग उपयोगकर्ता खाते की आवश्यकता - जो इसे एक पूरा दर्द से क्वेरी बनाना होगा - और फिर भी, हैकर एक लॉगिन किया है, तो संभावना है कि वे दूसरे को प्राप्त कर सकते हैं।
बस यह सुनिश्चित करें कि आप एक हैश फॉर्म में पासवर्ड संग्रहीत कर रहे हैं, SHA-2 और नमक जैसे सुरक्षित हैश का उपयोग कर। उन्हें सादा पाठ में संग्रहित न करें और (आईएमएचओ) उन्हें एन्क्रिप्टेड स्टोर न करें।
धन्यवाद एडम। मैं उस तरंगदैर्ध्य में था जब इस बारे में सोच रहा था: हैकर को सबकुछ तक पहुंच मिलेगी? मुझे लगता है कि यूनिक्स और फ़ाइलों जैसे/etc/passwd और/etc/छाया के बारे में कुछ सीखते समय यह मेरे लिए हुआ। मेरे प्रश्न के उत्तर पढ़ने के बाद यह स्पष्ट हो गया कि यह विचार वेब अनुप्रयोग में मदद नहीं करता है (यूनिक्स केस का इतिहास नहीं है)। – expora
मैं अन्य लोगों से असहमत हूं - प्रमाणीकरण जानकारी को एक अलग तालिका में रखें और सबसे बड़ी सीमा तक अपने आवेदन से पूरी तरह से पुल प्रमाणीकरण करें। आपको परवाह नहीं करनी चाहिए साइटमैंडर और इसी तरह सोचें - आपके वेब एप्लिकेशन में उपयोगकर्ता के प्रमाणीकरण के बारे में कोई जानकारी नहीं है। पासवर्ड, स्मार्ट कार्ड इत्यादि। (डेस्कटॉप अनुप्रयोगों पर केर्बेरोज या सक्रिय निर्देशिका के साथ वही बात।)
यह दृष्टिकोण तब भी काम करता है जब आप स्प्रिंग सिक्योरिटी जैसे ढांचे का उपयोग करते हैं। बस अपना इंटरसेप्टर सेट करें ताकि यह अकेले प्रमाणीकरण तालिकाओं को देख सके। आप अलग-अलग डेटा स्रोतों का भी उपयोग कर सकते हैं ताकि आपका इंटरसेप्टर एप्लिकेशन डेटा या इसके विपरीत नहीं देख सके।
स्पष्ट रूप से आपके एप्लिकेशन को उपयोगकर्ता के प्राधिकरणों के बारे में जानकारी प्रबंधित करने की आवश्यकता होगी, जो आमतौर पर 'भूमिका' तालिका में संभाला जाता है। लेकिन यह जानने की कोई आवश्यकता नहीं है कि उपयोगकर्ता को प्रमाणीकृत कैसे किया गया था।
अलग-अलग तालिका में उपयोगकर्ता नाम और पासवर्ड संग्रहीत करने से कोई प्रभाव पड़ता है कि एप्लिकेशन प्रमाणीकरण को संभालता है या नहीं? – Matthew
बीटीडब्ल्यू, पहले से ही एक बहुत ही सरल (और शक्तिशाली) सी # नमकीन हैश कक्षा पुस्तकालय (उन्होंने पुस्तकालय का उपयोग करने का एक छोटा सा प्रदर्शन भी शामिल किया है) - Link।
यह भी (ताकि आप एक वैध पासवर्ड के रूप में उपयोगकर्ता के इनपुट सत्यापित कर सकते हैं) और आप हैश एल्गोरिदम अपने आप को (SHA1/MD5/आदि।)
कोई सुरक्षा लाभ नहीं है चुन सकते हैं, तो सत्यापन तंत्र प्रदान करता है, लेकिन एकाधिक तालिकाओं का उपयोग करके एकल लॉगिन से जुड़े कई सिस्टमों को प्रमाण-पत्र संग्रहीत करने के लिए उपयोगी हो सकता है।
जैसा ऊपर बताया गया है, सुरक्षा के लिए नमकीन हैश द्वारा सुरक्षा प्रदान की जानी चाहिए।
- 1. सत्र आईडी या उपयोगकर्ता नाम + पासवर्ड
- 2. उपयोगकर्ता नाम और पासवर्ड का उपयोग कर जावा एलडीएपी प्रमाणीकरण
- 3. सर्वर उदाहरण का उपयोग करके आप mongodb उपयोगकर्ता नाम और पासवर्ड कैसे निर्दिष्ट कर सकते हैं?
- 4. कस्टम उपयोगकर्ता नाम का उपयोग करने के लिए स्प्रिंग सुरक्षा कॉन्फ़िगर करें पासवर्ड उपयोगकर्ता प्रमाणीकरणफिल्टर
- 5. यदि आप एचटीएमएल में कैलेंडर प्रोग्रामिंग कर रहे थे तो क्या आप टेबल टैग या डिव टैग का उपयोग करेंगे?
- 6. उपयोगकर्ता नाम या पासवर्ड के बिना ओरेकल से कनेक्शन
- 7. जावा में तैनाती स्क्रिप्ट के लिए आप क्या उपयोग करेंगे?
- 8. विंडोज प्रमाणीकरण उपयोगकर्ता नाम/पासवर्ड
- 9. आप एक बहुत व्यापक "टेबल" को कैसे कार्यान्वित करेंगे?
- 10. कोड अनुबंध, क्या आप उनका उपयोग करेंगे?
- 11. क्या आप एक इंट्रानेट/व्यवसाय ऐप के लिए ट्विटर बूटस्ट्रैप का उपयोग करेंगे?
- 12. विभिन्न आउटपुट, एक ही उपयोगकर्ता नाम और पासवर्ड
- 13. विजुअल एसवीएन सर्वर एक उपयोगकर्ता नाम और पासवर्ड चाहता है
- 14. पेपैल सैंडबॉक्स के लिए मुझे किस उपयोगकर्ता नाम/पासवर्ड/हस्ताक्षर का उपयोग करना चाहिए?
- 15. आप लंबित इन्टेंट का उपयोग कब करेंगे?
- 16. डब्ल्यूसीएफ सत्र या प्रति कॉल उपयोगकर्ता नाम/पासवर्ड पास?
- 17. एएसपी.Net स्टोर उपयोगकर्ता पासवर्ड?
- 18. लॉगिन विफलता: अज्ञात उपयोगकर्ता नाम या खराब पासवर्ड
- 19. उपयोगकर्ता नाम/पासवर्ड से परे सुरक्षा?
- 20. एक ही उपयोगकर्ता नाम और पासवर्ड का उपयोग कर एकाधिक लॉगिन को रोकें
- 21. यदि मैं फ़ायरबेस सरल उपयोगकर्ता नाम और पासवर्ड प्रमाणीकरण
- 22. HTML टेबल के बजाय सीएसएस का उपयोग करके आप इस टेबल आधारित लेआउट को कैसे प्राप्त करेंगे?
- 23. आप कब और क्यों अपाचे कॉमन्स-डायजेस्टर का उपयोग करेंगे?
- 24. दावे क्या हैं? और आप उनका उपयोग क्यों करेंगे?
- 25. दो कॉलम टेबल या डीएल?
- 26. क्या ईजीआईटी (एक्लिप्स गिट प्लगइन) उपयोगकर्ता नाम और पासवर्ड के बजाय एक एसएसएच कुंजी का उपयोग कर सकता है?
- 27. 'उपयोगकर्ता के लिए रूट' @ 'लोकहोस्ट' (पासवर्ड का उपयोग कर: NO) '
- 28. कई से कई टेबल में एक या दो प्राथमिक कुंजी?
- 29. कैसे उपयोगकर्ता नाम/httpget में पासवर्ड
- 30. एक टेबल में एक ही टेबल के लिए दो विदेशी कुंजी के लिए रेल एसोसिएशन
भी मेज पर नमक जोड़ने के लिए मत भूलना। –
आपको ऐसा करने की ज़रूरत नहीं है। आप प्रत्येक पासवर्ड के लिए एक नमक का उपयोग कर सकते हैं। यदि डेटाबेस हैक किया गया है तो उनके पास नमक नहीं है। यदि आप इसे डेटाबेस में जोड़ते हैं तो वे करते हैं। नमक का विचार यह है कि अंतिम उपयोगकर्ता के परिणामस्वरूप हैश पर अंतिम नियंत्रण नहीं होता है। – Snake
सभी के लिए धन्यवाद! मुझे नमकीन हैश के बारे में पता है। मैं बस सोच रहा था कि दो टेबल होने से कोई मूल्यवान सुरक्षा सुविधा मिलती है। चीयर्स! – expora