मुझे हाल ही में एक वेबसाइट के मेरे स्रोत कोड के बारे में एक सहयोगी से एक प्रतिक्रिया मिली है। वह कहता है कि यह एक बुरा अभ्यास है कि यह देखने के लिए कि कौन सा दृश्य इंटरफ़ेस करने की अनुमति नहीं देता है।क्या यह किसी ऐसे उपयोगकर्ता को ग़लत त्रुटियां प्रदान नहीं करता है जो वेबसाइट का सही उपयोग नहीं करता है?
चूंकि यह बहुत स्पष्ट नहीं है, यहां एक उदाहरण दिया गया है।
मान लें कि कोई विज़िटर कुछ टिप्पणी कर सकता है।
nvarchar(500)
कॉलम में एक टिप्पणी डेटाबेस में सहेजी गई है।<input />
क्षेत्र लंबाई 500.
तक ही सीमित लेकिन, ज़ाहिर है, कुछ भी नहीं करने के लिए लंबाई सीमा को निष्क्रिय एक और अधिक उन्नत उपयोगकर्ता के लिए मनाही है और 501 वर्ण लिखने के लिए किया जाता है।
(अन्य उदाहरण:। एक विकल्प है जो भी एक <select />
लेकिन वहाँमें मौजूद नहीं है प्रस्तुत करने एक सुंदर त्रुटि जब उपयोगकर्ता एक नंबर डालने का आग्रह किया गया है, और वह बजाय एक गैर संख्या में प्रवेश करती है, के बाद से कीप्रेस घटनाओं को जावास्क्रिप्ट के माध्यम से नियंत्रित किया जाता है, और जावास्क्रिप्ट को अक्षम किया जा सकता है)
यदि आगंतुक ऐसा करता है, तो कोड अनुबंध स्तर पर विफलता होगी। AJAX अनुरोध एक अनपेक्षित त्रुटि के साथ विफल हो जाएगा (या, पृष्ठ सबमिट पर, एक अनपेक्षित त्रुटि होगी)। सभी मामलों में, आगंतुक देखेंगे कि कुछ गलत हुआ है, लेकिन इसमें कोई सुन्दर संदेश नहीं होगा जो दर्शाता है कि सबमिट की गई टिप्पणी की लंबाई बहुत लंबी है।
यह बुरा अभ्यास क्यों है? मैं उन मामलों के लिए स्पष्ट और स्पष्ट त्रुटि संदेशों को डिजाइन करने के लिए परेशान क्यों करूंगा जहां आगंतुक सही वेबसाइट का उपयोग नहीं करेंगे?
नोट: मैं समझता हूँ कि यह एक .नेट फ्रेमवर्क विस्तृत त्रुटि और एक स्टैक ट्रेस प्रदर्शित करने के लिए जब कुछ इस तरह होता है बेकार है। अगर मैं ऐसा करता हूं, तो यह एक गंभीर सुरक्षा समस्या है। लेकिन मेरे मामले में, कुछ जेनेरिक या किसी सामान्य पृष्ठ पर रीडायरेक्ट के साथ केवल एक AJAX प्रतिक्रिया होती है जिसमें त्रुटि के बारे में माफी माँगती है।
आप सही मजाक कर रहे हैं? लगता है जैसे आप काम नहीं करना चाहते हैं। उपयोगकर्ता को कोड त्रुटियों का एक गुच्छा देखना नहीं चाहिए। आपको उस स्थान पर उचित त्रुटि जांच करनी चाहिए जो उपयोगकर्ताओं को उन चीजों को करने की अनुमति नहीं देनी चाहिए जिन्हें वे स्पष्ट रूप से नहीं करना चाहिए। आपको इसे फ्रंटएंड (जावास्क्रिप्ट) और बैकएंड पर देखना चाहिए। यदि कोई उपयोगकर्ता किसी भी तरह जावास्क्रिप्ट चेक को बायपास करता है, तो आपके सिस्टम को इसे डीबी में जमा करने का प्रयास करने से पहले इसे पकड़ना चाहिए। – xil3
@ xil3 - क्या आपने सवाल भी पढ़ा था? यह बताता है कि इसे फ़्रंटएंड पर अधिकतम लम्बाई और कोड अनुबंधों का उपयोग करके बैकएंड पर संरक्षित किया जा रहा है। वह पूछ रहा है कि क्या उसे किसी ऐसे परिदृश्य के लिए स्वरूपित (और संभावित रूप से अनुवादित) त्रुटि संदेश प्रदर्शित करना चाहिए जो केवल दुर्भावनापूर्ण उपयोगकर्ता के कारण हो सकता है। –
@ मेनमा - मुझे लगता है कि आपको अपने प्रश्न को फिर से भरना होगा, क्योंकि यहां हर उत्तर बिंदु से चूक गया है। –