क्या मेरे मॉडल आईडी को मेरे रूपों में रखना सुरक्षित है?

मुझे याद है कि किसी ने कुछ टिप्पणियों में कुछ कहा है कि किसी वेब पेज पर मॉडल रिकॉर्ड की आईडी का पर्दाफाश करना बहुत सुरक्षित नहीं है। मैंने इसके चारों ओर कुछ तरीकों की तलाश करने की कोशिश की लेकिन पसंद पर कोई विशिष्ट दस्तावेज नहीं मिला।

क्या किसी को पता है कि यह क्यों है और क्या इससे बचा जाना चाहिए या नहीं? इसके अलावा यह कैसे टाला जा सकता है?

3
जोड़ा संपादित
विचारों: 1

2 उत्तर

आईडी के साथ एक हैकर एकमात्र चीज कर सकता है, यह आपके डेटाबेस में दिखता है, और यदि वे ऐसा कर सकते हैं, तो आप पहले से ही हो चुके हैं। यही कारण है कि इस तरह के आईडी को "कल्पित" कहा जाता है, क्योंकि वे वास्तविकता में किसी और चीज से संबंधित नहीं हैं, जैसे सोशल सिक्योरिटी नंबर।

कभी-कभी आपको, और कभी-कभी आपको नहीं करना चाहिए, एक आईडी को एक यूआरआई में रखें - http://example.com/myController/42 । यदि आप ऐसा करते हैं, तो अपने पृष्ठ को सुरक्षित करें, इसलिए अनधिकृत उपयोगकर्ता संख्या को छोटा रूप से बदल नहीं सकते हैं और देख सकते हैं कि वे कौन से रिकॉर्ड पा सकते हैं। लेकिन आपको वैसे भी उस सुरक्षा की ज़रूरत है, भले ही आप रिकॉर्ड्स खोजने के लिए "स्लग" का उपयोग करें, क्योंकि उपयोगकर्ता अलग-अलग स्लग ढूंढने के लिए चारों ओर पोक कर सकते हैं। उपयोग/42 का उपयोग करने का मुख्य कारण यूआरआई आपके उपयोगिता लिफाफे का हिस्सा हैं, और उन्हें साक्षर और उपयोगकर्ता के अनुकूल होना चाहिए।

And I put database IDs inside HTML IDs all the time, to make them unique, such as <input type="text" name="username" id="username_42" />. That's still just as secure.

3
जोड़ा
एक स्लग से आपका क्या मतलब है?
जोड़ा लेखक TopGunCoder, स्रोत
मैं वास्तव में इस पृष्ठ का उपयोग कर इन उदाहरणों को पसंद कर रहा हूं! सहायता के लिए धन्यवाद!
जोड़ा लेखक TopGunCoder, स्रोत
एक "स्लग" का मतलब पहले एक पंक्ति का था, नेतृत्व में डाला गया था। समाचार पत्र इकट्ठा करने के लिए प्रिंटर एक स्तंभ बनाने के लिए स्लग ढेर करते हैं। आज, एक "स्लग" का अर्थ है "लघु सरलीकृत स्ट्रिंग", जहां "टॉप गन कोडर" को "टॉप-गन-कोडर" के रूप में स्लग किया जा सकता है। इस पृष्ठ पर यूआरआई में एक रिकॉर्ड नंबर, /20151390/, और एक स्लग है: is-it-safe-to-put-my-model-ids ...
जोड़ा लेखक Phlip, स्रोत

यह नहीं है आपकी उपयोगकर्ता आईडी इस प्रश्न पर आपके नाम के लिंक पर है और यूआरएल में प्रश्न आईडी बस ऊपर है। असुरक्षित एकमात्र चीज यह है कि यदि आप उन लोगों को अनुमति देते हैं जो आईडी जानते हैं लेकिन उन चीजों तक पहुंच नहीं होनी चाहिए जिन्हें आप नहीं चाहते थे।

सुरक्षा आपके ऐप में बनाई गई है, भले ही आप अपने मॉडल की आईडी दिखा रहे हों या नहीं।

2
जोड़ा