8

बेशक, मुझे पता है कि सर्वर-साइड सत्यापन होना चाहिएतो क्या क्लाइंट-साइड पर फॉर्म को प्रमाणित करना सुरक्षित है?

मैं फॉर्म इनपुट को सत्यापित करने के लिए jQuery का उपयोग कर रहा हूं और एक ही समय में सर्वर-साइड (PHP) सत्यापन करने के लिए jquery AJAX का उपयोग कर रहा हूं। तो मुझे लगता है कि यह सुरक्षित हो सकता है क्योंकि यह दोनों पक्षों के लिए मान्य है जबकि जावास्क्रिप्ट सक्षम है

ठीक है, यहाँ मेरी समस्या है ...

लेकिन क्या होगा अगर उपयोगकर्ता है जावास्क्रिप्ट अपने ब्राउज़र पर विकलांग और कुछ बुरे लोगों को अपने ग्राहक साइड स्क्रिप्ट को संपादित करने से कुछ बुरा करने की कोशिश करता है, तो?

क्योंकि मैं jquery AJAX के माध्यम से सर्वर-साइड सत्यापन कर रहा हूं, और मैं उन्हें सीधे php स्क्रिप्ट (action = "some.php") में मान्य करने की योजना बना रहा हूं, यहां तक ​​कि उपयोगकर्ता की जावास्क्रिप्ट सक्षम है।

तो ... क्या यह अभी भी सुरक्षित है?

मेरी खराब अंग्रेजी के लिए खेद है, उम्मीद है कि आपको कोई फर्क नहीं पड़ता।

+1

संभावित डुप्लिकेट बंद: http://stackoverflow.com/questions/3483514/why-is-client-side-validation-not-enough/ – RTB

+2

वाह कुछ चीज मैंने सोचा कि स्पष्ट कहां है। कोई आश्चर्य नहीं कि लोग इतनी बार हैक हो जाते हैं। बस लानत – rook

उत्तर

13

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

+0

आपका उत्तर सहायक है! धन्यवाद... –

5

मेरे नियम काफी सरल हैं ...

  1. आप अपने डेटा के बारे में परवाह है, तो आप सर्वर पर मान्य होना चाहिए।
  2. यदि आप अपने उपयोगकर्ता अनुभव की परवाह करते हैं, तो आपको ग्राहक को पर मान्य करना होगा।
+0

बेस्ट उत्तर !, लघु और सटीक। –

6

चूंकि जावास्क्रिप्ट किसी भी आगंतुक के लिए पठनीय है, और नवीनतम ब्राउज़रों के साथ आसानी से संपादन योग्य है, तो थोड़ा प्रोग्रामिंग कौशल वाला कोई भी व्यक्ति आपके जावास्क्रिप्ट सत्यापन को किसी भी समय बाईपास नहीं कर सकता है। तो आपको हमेशा सर्वर की ओर भी मान्य होना चाहिए।