2010-03-10 16 views
5

टेक्स्टबॉक्स नियंत्रण MaxLength प्रॉपर्टी प्रदान करता है, जो उस टेक्स्टबॉक्स में डालने योग्य टेक्स्ट को क्लाइंट निर्दिष्ट वर्णों तक सीमित करता है।टेक्स्टबॉक्स-नियंत्रण की अधिकतम सीमा संपत्ति कितनी विश्वसनीय है?

मेरे सवालों का:

  • इस संपत्ति केवल क्लाइंट-साइड और इसलिए ब्राउज़र-pedendent है?
  • मैं इस तथ्य पर भरोसा कर सकते हैं, कि पाठ संपत्ति कोई पाठ लंबे समय तक शामिल से MaxLength सेट किया गया है (केवल MSDN लेख में नामित DisplayModes के लिए) या मैं मैन्युअल की क्या ज़रूरत है एक TextBox.Text प्रदर्शन करते हैं। सबस्ट्रिंग (0, वांछित मैक्सलेथेंथ) ?
  • यह सभी अक्षम जावा-स्क्रिप्ट के साथ कैसे व्यवहार करता है?

उत्तर

7

यह जावास्क्रिप्ट पर निर्भर नहीं है लेकिन यह इसे सुरक्षित नहीं बनाता है।

कोई भी जावास्क्रिप्ट (उदाहरण के लिए XmlHttpRequest) का उपयोग कर अनुरोध पोस्ट कर सकता है या अधिकतम लंबाई विनिर्देश की तुलना में अधिक डेटा भेजने का अनुरोध तैयार कर सकता है। किसी सामान्य उपयोगकर्ता को फ़ील्ड को पॉप्युलेट करने से रोकने का यह एक अच्छा तरीका है, लेकिन ऐसा कुछ है जिसे आपको सर्वर पर दोबारा जांचने की आवश्यकता है।

+0

टेक्स्टबॉक्स-कंट्रोल का मतलब मैक्सलेन्थ संपत्ति को सीमित करने के लिए सर्वर-साइड सुरक्षा नहीं है? अगर मैं आपको सही ढंग से समझता हूं, तो आप मुझे बता रहे हैं कि मेरे वेबपैप के भीतर से "सामान्य" उपयोग के साथ मैं भरोसा कर सकता हूं कि एक सामान्य उपयोगकर्ता निर्दिष्ट अधिकतम लंबाई को बाईपास नहीं कर सकता है? – citronas

+0

टेक्स्ट बॉक्स सर्वर पक्ष AFAIK पर जांच नहीं करेगा। और मैं कह रहा हूं कि एक सामान्य उपयोगकर्ता के लिए कुछ भी गलत करने की कोशिश नहीं करने से यह काम करेगा लेकिन यह उस पर भरोसा नहीं करना सुरक्षित है। – Locksfree

+1

मैं बहुत परेशान था कि अगर वे वास्तव में चाहते थे तो मैक्सलेन्थ सीमा के आसपास कितनी आसानी से हो सकता है। जिस तरह से मैं इसे ठीक करने के लिए चला गया (एक मिलियन वैधकर्ताओं को जोड़ने के बजाय) टेक्स्टबॉक्स वर्ग का विस्तार करना और टेक्स्ट प्रॉपर्टी को ओवरराइड करना था। गेटटर में, यदि अधिकतम लम्बाई मान 0 से अधिक है, तो मैं मान को अधिकतम लंबाई मान को ट्रिम करता हूं। – rossisdead

3

मैं इस तथ्य पर भरोसा कर सकते हैं, कि पाठ संपत्ति MaxLength से कोई पाठ लंबे समय तक होता है?

नहीं। इसे उपयोगकर्ता-मित्रता सुविधा पर विचार करें। आपके पास सर्वर पर फिर से जांच होगी (हमेशा की तरह)। और इसके लिए इसके आधार पर जावास्क्रिप्ट में भी जांच कर सकते हैं।

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