2010-09-02 9 views
5

में मान्यताओं कौन सा सर्वोत्तम है - क्लाइंट-साइड सत्यापन या सर्वर-साइड सत्यापन?एएसपी.नेट और सी #

+0

इसे खोलने की जरूरत है, इसलिए स्पष्ट उत्तर है कि सर्वर पक्ष सत्यापन वैकल्पिक नहीं है। यह संदेश प्राप्त करने के लिए जितनी बार लेता है उतना बार दोहराने लायक है। – Richard

+1

संभावित डुप्लिकेट [क्या आप सर्वर की ओर से सत्यापन करना चाहिए?] (http://stackoverflow.com/questions/1125772/should-you-do- validation-on-the-server-side) –

+0

हालांकि यह तर्कसंगत हो सकता है, मुझे उचित उत्तर की आवश्यकता है। ताकि मैं अपने आवेदन में उपयोग कर सकूं। – Bala

उत्तर

10

सर्वर साइड सत्यापन ग्राहक साइड सत्यापन के बाद से बहुत जरूरी छेड़छाड़ की जा सकती है। हालांकि, क्लाइंट साइड सत्यापन आमतौर पर एक बेहतर उपयोगकर्ता अनुभव प्रदान करता है, क्योंकि इसे कम पोस्ट बैक की आवश्यकता होती है। तो मैं दोनों का उपयोग करने की सिफारिश करेंगे।

3

सुरक्षा के लिए:

सर्वर पक्ष सत्यापन।

एक सामान्य बुद्धि ग्राहक सत्यापन निकाल सकते हैं।

सर्वश्रेष्ठ जीयूआई अनुभव के लिए:

क्लाइंट साइड सत्यापन।

4

आप MUST सर्वर साइड सत्यापन करते हैं। अन्यथा कोई भी उन्हें कुछ भी भेज सकता है (जावास्क्रिप्ट अक्षम के साथ ब्राउज़र पर विचार करें, या एक कस्टम नकली ब्राउज़र)।

क्लाइंट साइट सत्यापन बेहतर उपयोगकर्ता अनुभव प्रदान करने के लिए इस्तेमाल किया जा सकता है, लेकिन आप सही ढंग से काम करना चाहिए अगर यह उपलब्ध नहीं है।

1

ASP.NET में मान्यता प्रयोजन के लिए दोनों अच्छे हैं, लेकिन यह आवेदन पर निर्भर करता है। सुरक्षा उद्देश्य के लिए सर्वर साइड सत्यापन सर्वोत्तम है, लेकिन यह सर्वर पर ओवरहेड बढ़ाता है, इसलिए जब भी आवश्यक नहीं होता है तो हम आम तौर पर सर्वर साइड सत्यापन का उपयोग करने से बचते हैं।

क्लाइंट-साइड सत्यापन आमतौर पर इनपुट प्रकार पैरामीटर की जांच करने के लिए सबसे अच्छा है और क्लाइंट साइड पर इसकी जांच का मतलब आपके ब्राउज़र पर है, इसलिए यह सर्वर पर लोड नहीं रखता है और कम समय और असुरक्षित नहीं होता है।

दृश्य क्लाइंट साइड सत्यापन के मेरी बात में सबसे अच्छा है।

0

मैं केवल AJAX के साथ सर्वर-साइड सत्यापन का सुझाव देता हूं।

के रूप में अन्य लोगों ने बताया है, सर्वर साइड सत्यापन क्लाइंट साइड सत्यापन के बाद से बहुत जरूरी के साथ छेड़छाड़ की जा सकती है।

मैंने उन परियोजनाओं पर काम किया है जहां हमने सर्वर-साइड सत्यापन के अलावा क्लाइंट-साइड का उपयोग किया है, यह मानना ​​है कि यह सर्वर पर आसान होगा और बेहतर उपयोगकर्ता अनुभव प्रदान करेगा। हालांकि यह ठीक काम करता था, यह डीआरवाई (खुद को दोहराएं) सिद्धांत का उल्लंघन करने और असंगत सर्वर/क्लाइंट साइड सत्यापन कार्यान्वयन को जोखिम देने की कीमत पर आया (नोट: मैंने बहुत समय पहले एएसपी.NET वैधताओं में निर्मित किया था)। (बचत डेटा या कुछ और अगर सर्वर पर सत्यापन सफल होता है, पोस्ट का मुख्य उद्देश्य के साथ आगे बढ़ना:

तब से, मैं पाया है कि व्यवहार में आप सभी पोस्ट अजाक्स का उपयोग प्रदर्शन से बहुत लगभग उतना ही अच्छा एक उपयोगकर्ता अनुभव प्राप्त कर सकते हैं), और एक सफलता JSON प्रतिक्रिया लौटाएं और किसी अन्य पृष्ठ या किसी चीज़ पर नेविगेट करने के लिए सफलता कॉलबैक कॉल करें। यदि सत्यापन विफल रहता है, तो असफल फ़ील्ड और संदेशों वाले JSON प्रतिक्रिया लौटाएं और उन्हें प्रदर्शित करने के लिए विफलता कॉलबैक को कॉल करें।

मान लीजिए कि आप अपने POSTs (एएसपी.NET में जानबूझ कर अभ्यास) को कम करने की देखभाल करते हैं, यह रणनीति सामान्य रूप से आपके सर्वर के लिए बहुत दयालु होगी।

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