2009-04-16 11 views
17

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

इसके अतिरिक्त ओपनिड को उपयोगकर्ता नाम (सिफारिशें) के रूप में उपयोग करना उपयोगी है?

उत्तर

7

ओपनआईडी एक यूआरआई है, इसलिए आप यूआरआई की अधिकतम लंबाई तक सीमित हैं। जहां तक ​​मुझे पता है कि कोई सीमा नहीं है, लेकिन कुछ ब्राउज़रों (जैसे इंटरनेट एक्सप्लोरर) की सीमा है।

अतिरिक्त पठन:

http://openid.net/pipermail/general/2008-August/005305.html

+0

धन्यवाद जो उपयोगी था। – Ruggs

+1

आपका लिंक इंगित करता है कि OpenId 2.0 में पहचानकर्ता उरी की अधिकतम लंबाई वर्तमान में निर्दिष्ट नहीं है। यूआरएल की अधिकतम लंबाई भी निर्दिष्ट नहीं है, लेकिन विभिन्न ब्राउज़रों की अलग-अलग सीमाएं हैं। इंटरनेट एक्सप्लोरर में वर्तमान में सबसे छोटी सीमा, 2083 वर्ण हैं। http://support.microsoft.com/kb/208427 – dthrasher

3

मैं उपयोगकर्ता नाम के रूप में सीधे OpenID का उपयोग नहीं होता। ओपनआईडी यूआरएल पर एक नज़र डालें जो याहू उपयोगकर्ताओं को प्रदान करता है, वे समझ में नहीं आते हैं। उपयोगकर्ताओं को अपना स्वयं का उपयोगकर्ता नाम चुनने दें, और आदर्श रूप से एकाधिक ओपनआईडी यूआरएल को एक उपयोगकर्ता खाते से जुड़े होने की अनुमति दें (जैसे स्टैक ओवरफ्लो करता है)।

+0

मैं उपयोगकर्ता डेटाबेस से एक अलग तालिका में ओपनिड संग्रहित करूँगा ताकि यह एकाधिक ओपनिड का समर्थन करेगा। – Ruggs

1

spec के संस्करण 2.0 में आधिकारिक लंबाई नहीं है।

आप कुछ अद्वितीय (एमडी 5, या कुछ अन्य दोहराने योग्य हैश) में प्रदान किया गया यूआरएल हैश और स्टोर कर सकते हैं कि आपके डीबी में बहुत छोटी स्ट्रिंग के रूप में।

इसे उपयोगकर्ता नाम के रूप में उपयोग करने के लिए, एक बड़ा यूआरएल सुंदर नहीं है। आप प्रतिक्रियाओं से उपयोगकर्ता नाम निकाल सकते हैं (इसलिए मेरा उपयोगकर्ता नाम सीधे मेरे ओपनआईडी से प्राप्त किया गया है)

+0

मैंने कभी इसे हैश के रूप में संग्रहीत करने का विचार नहीं किया। यह समझ आता है। – Ruggs

+0

वास्तव में बुरा विचार। एमडी 5 और एसएचए -1 को तोड़ दिया गया है, इसलिए मैं आपके आरपी में हैक कर सकता हूं क्योंकि मैं वही मूल्य प्राप्त करने वाले दावा किए गए आईडी का विरोध करके चाहता हूं। आप प्रत्येक हैश को विशिष्ट रूप से सलाम करके _could_ इसे कम करते हैं, लेकिन यह पूरी चीज को स्टोर करने के लिए बहुत दूर है। –

+0

तो आप प्रदाता से md5/sha-1 हैश कैसे भेजेंगे? ओपनआईडी प्रतिक्रियाएं विश्वसनीय प्रदाता से पहले स्थान पर वैध होने के लिए आनी चाहिए। – Ruggs

1

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

15

ओपनआईडी 1.1 के विनिर्देश के अनुसार, पहचानकर्ता यूआरएल की अधिकतम सीमा 255 बाइट्स है। OpenId 1.1 Appendix D: Limits देखें। पहचान प्रदाता और return_to urls 2047 अधिकतम बाइट तक हो सकता है।

ध्यान दें कि सीमाओं पर यह अनुभाग ओपनआईडी 2.0 विनिर्देश से हटा दिया गया था। तो यह स्पष्ट नहीं है कि अधिकतम लंबाई अब क्या है।

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