मैंने लोगों को इंटरनेट पर यहां और वहां व्याख्यान देते हुए सुना है कि वेब एप्लिकेशन में सार्वजनिक सामना करने वाले डेटाबेस आईडी को अस्पष्ट करना सबसे अच्छा अभ्यास है। मुझे लगता है कि वे मुख्य रूप से रूपों और urls में मतलब रखते हैं, लेकिन मैंने इस विषय पर एक कौर से ज्यादा कुछ नहीं पढ़ा है।
संपादित करें : बेशक, अब जब मैं यह पूछता हूं, तो मुझे इस विषय पर कुछ संसाधन मिलते हैं:
- /programming/2374538/obscuring-database-ids
- /programming/1895685/should-i-obscure-primary-key-values
- http://joshua.schachter.org/2007/01/autoincrement.html
इन कड़ियों ने मेरी कुछ जिज्ञासाओं को पूरा किया, लेकिन एसओ पदों के पास कई वोट नहीं हैं और जरूरी नहीं कि वे इस संदर्भ में विषय के आसपास केंद्रित हों, इसलिए मुझे यकीन नहीं है कि इसका क्या बनाना है, और उनमें से कुछ का दावा है कि तीसरा लिंक फर्जी है। मैं अपनी बाकी पोस्ट को बरकरार रखूंगा:
मैं अस्पष्टता और सुरक्षा के बीच के अंतर को समझता हूं, साथ ही साथ दोनों कैसे एक साथ काम कर सकते हैं, लेकिन मैं कल्पना नहीं कर सकता कि यह क्यों आवश्यक होगा।
क्या इसमें कोई सच्चाई है, क्या यह सिर्फ व्यामोह है, या यह पूरी तरह से पूरी तरह से फर्जी है?
मैं इसे करने के तरीकों के बारे में सोच सकता हूं, लेकिन निश्चित रूप से यह एप्लिकेशन कोड में बहुत अधिक जटिलता जोड़ता है। यह किन परिस्थितियों में उपयोगी होगा? इस तो है कुछ लोग अक्सर करते हैं, कैसे यह आम तौर पर तैनात किया जाता है? पहचानकर्ताओं को परेशान करना? कुछ और? यह बहुत अधिक अतिरिक्त सुरक्षा के लिए बहुत काम की तरह लगता है। मैं वास्तविक समाधानों की तलाश में नहीं हूं, मैं सिर्फ यह जानना चाहता हूं कि वास्तविक दुनिया में लोग ऐसा कैसे / क्यों करेंगे।
क्या यह वास्तव में एक "सर्वोत्तम अभ्यास" माना जाता है या यह केवल थोड़े मूल्य का सूक्ष्म अनुकूलन है?
नोट : मुझे लगता है कि कुछ लोगों को गलत विचार मिल सकता है: मैं सुझाव नहीं दे रहा हूं कि मुश्किल-से-अनुमान आईडी केवल सुरक्षा तंत्र होगा, जाहिर है कि सामान्य पहुंच जांच होगी। मान लेते हैं कि वे जगह में हैं, और यह कि आईडी की आईडी या हैशेड आईडी को जानना केवल पहुंच प्रदान करने के लिए पर्याप्त नहीं है।