जब कोई फ़ॉर्म बनाया जाता है, तो उपयोगकर्ता के डेटा का इस्तेमाल किया जाता है. आपकी सबसे पहली चिंता यह होनी चाहिए कि उपयोगकर्ता का डेटा निजी रखा जाए और सुरक्षित रूप से ट्रांसफ़र किया जाए. चलिए देखते हैं कि क्या किया जा सकता है.
पक्का करें कि आपका फ़ॉर्म सुरक्षित है
सबसे पहले, पक्का करें कि कम से कम डेटा का अनुरोध किया जाए. जिस डेटा की आपको ज़रूरत नहीं है उसके लिए न पूछें. साथ ही, हमेशा यह सवाल पूछें कि पूरा अनुरोध किया गया डेटा आपको चाहिए या नहीं. कम डेटा का मतलब है कम जोखिम, कम खर्च, और कम कानूनी जवाबदेही. इसके अलावा, फ़ॉर्म में फ़ील्ड की संख्या कम करने से, फ़ॉर्म में फ़ील्ड को भरना आसान हो जाता है और फ़ॉर्म भरने की दर कम हो जाती है.
हमेशा एचटीटीपीएस का इस्तेमाल करें, खास तौर पर उन पेजों के लिए जिनमें कोई फ़ॉर्म शामिल है. एचटीटीपीएस का इस्तेमाल करके, डेटा को सर्वर से आने और सर्वर पर वापस जाने के दौरान एन्क्रिप्ट (सुरक्षित) किया जाता है.
मान लें कि आप सार्वजनिक वाई-फ़ाई का इस्तेमाल करके कैफ़े में बैठे हैं. कोई ई-कॉमर्स साइट खोलकर, उसमें अपने क्रेडिट कार्ड की जानकारी डालकर कुछ खरीदा जा सकता है. अगर वेबसाइट एचटीटीपी का इस्तेमाल करती है, तो उसी सार्वजनिक वाई-फ़ाई पर कोई भी व्यक्ति (जो ऐसा करने का हुनर रखता है) आपके क्रेडिट कार्ड की जानकारी देख सकता है. अगर वेबसाइट एचटीटीपीएस का इस्तेमाल करती है, तो डेटा को एन्क्रिप्ट (सुरक्षित) किया जाता है. इस वजह से, उसे ऐक्सेस करने वाले किसी भी व्यक्ति से सुरक्षित रहता है.
अपनी साइट पर, किसी भी एचटीटीपी अनुरोध को एचटीटीपीएस पर रीडायरेक्ट करना न भूलें. सभी ट्रैफ़िक को एचटीटीपीएस पर रीडायरेक्ट करने के तरीके के बारे में ज़्यादा जानें.
उपयोगकर्ताओं को उनका डेटा निजी रखने में मदद करना
पहले मॉड्यूल में, आपने डेटा ट्रांसफ़र करने के दो संभावित तरीकों के बारे में जाना:
GET
अनुरोध का इस्तेमाल करना और POST
अनुरोध का इस्तेमाल करना.
GET
अनुरोध के साथ, फ़ॉर्म के डेटा को अनुरोध के यूआरएल में क्वेरी स्ट्रिंग के तौर पर शामिल किया जाता है. अगर कोई ऐसा फ़ॉर्म सबमिट किया जाता है जिसमें GET
अनुरोध का इस्तेमाल किया जाता है,
तो ब्राउज़र आपके ब्राउज़िंग इतिहास में, फ़ॉर्म के डेटा के साथ-साथ अनुरोध का यूआरएल जोड़ देता है.
यह सुविधा तब काम आती है, जब आपको सबमिट किए गए पुराने फ़ॉर्म देखने हों. उदाहरण के लिए, किसी खोज फ़ॉर्म के लिए. संवेदनशील जानकारी सबमिट करने पर
यह ज़रूरी नहीं है कि यह जानकारी उन सभी लोगों को दिखे
जिनके पास आपके ब्राउज़िंग इतिहास या लोकल नेटवर्क का ऐक्सेस है.
हर फ़ॉर्म के लिए POST
अनुरोधों का इस्तेमाल करें, जिनमें निजी या संवेदनशील डेटा सबमिट किया जा सकता है.
ऐसा करने पर, डेटा सिर्फ़ उस बैकएंड स्क्रिप्ट को दिखता है जो उसे प्रोसेस कर रही है.
निजी डेटा को सीधे ब्राउज़र में सेव और प्रोसेस करने पर क्या होगा?
क्लाइंट स्टोरेज का इस्तेमाल किया जा सकता है, जैसे कि localStorage
को ब्राउज़र में निजी डेटा सेव करने के लिए.
निजता के मामले में, यह पूरी तरह सही नहीं है.
फिर से बता दें कि जिन लोगों के पास आपके ब्राउज़र का ऐक्सेस है वे इस जानकारी को पढ़ सकते हैं.
आपको निजी डेटा के लिए, सिर्फ़ एन्क्रिप्ट की गई वैल्यू सेव करनी चाहिए.
पक्का करें कि लोग सुरक्षित तरीके से साइन अप और साइन इन कर सकें
उपयोगकर्ता खाते की पुष्टि करना, निजता और सुरक्षा के लिहाज़ से एक मुश्किल समस्या है. पुष्टि करने का अपना सुरक्षित सिस्टम बनाने के बजाय, तीसरे पक्ष के आइडेंटिटी प्रोवाइडर का इस्तेमाल करना बेहतर हो सकता है.
खाते की पुष्टि करने और पासवर्ड मैनेज करने के सबसे सही तरीकों के बारे में ज़्यादा जानें.
निजी डेटा ऐक्सेस करने में उपयोगकर्ताओं की मदद करना
कई इलाकों में डेटा की सुरक्षा और निजता से जुड़े नियम और कानून हैं. इनमें कैलिफ़ोर्निया का सीसीपीए और भारत का पीडीपीए भी शामिल है. यूरोपीय संघ (ईयू) में उपलब्ध हर वेबसाइट को जनरल डेटा प्रोटेक्शन रेगुलेशन (जीडीपीआर) का पालन करना होगा. भले ही, साइट ईयू (यूरोपीय संघ) में न हो.
जीडीपीआर में ईयू (यूरोपीय संघ) में रहने वाले लोगों की निजी जानकारी को इकट्ठा और प्रोसेस करने के दिशा-निर्देश तय किए गए हैं. निजी डेटा को प्रोसेस करने के लिए उपयोगकर्ता की सहमति ज़रूरी होती है. उपयोगकर्ता किसी भी समय सेव की गई आपकी निजी जानकारी का अनुरोध कर सकते हैं. इसके अलावा, आपको डेटा लीक होने के बारे में आधिकारिक तौर पर सूचना देनी होगी. उपयोगकर्ता के लिए एक अच्छी बात, क्योंकि इससे यह पक्का करने में मदद मिलती है कि उनकी निजता का सम्मान किया जाता है. जीडीपीआर के बारे में ज़्यादा जानें.
पक्का करें कि आपके उपयोगकर्ताओं को पता हो कि आप निजी डेटा को कैसे प्रोसेस करना चाहते हैं. पारदर्शिता बनाए रखने पर सबसे ज़्यादा भरोसा किया जा सकता है. उपयोगकर्ताओं के पास वे डेटा हमेशा ऐक्सेस करने, उसमें बदलाव करने, और मिटाने की सुविधा होनी चाहिए जिसे आपने अपने लिए सेव किया है.
पक्का करें कि उपयोगकर्ता अपना निजी डेटा अपडेट कर सकते हैं
उपयोगकर्ताओं के लिए पासवर्ड, ईमेल पते, और उपयोगकर्ता नाम के साथ-साथ उनका निजी डेटा अपडेट करना आसान बनाएं. उपयोगकर्ताओं को उनके सेव किए गए निजी डेटा में हुए बदलावों के बारे में सूचना दें. साथ ही, पक्का करें कि उपयोगकर्ता उन बदलावों को वापस ले सकते हों. उदाहरण के लिए, उपयोगकर्ताओं के अपना ईमेल पता बदलने पर पिछले और नए ईमेल पते पर ईमेल भेजें.
उपयोगकर्ताओं के लिए अपने खाते को मिटाना आसान बनाएं. इसमें सारा डेटा शामिल है और जहां ज़रूरी हो, वहां डेटा डाउनलोड करना भी आसान बनाएं. खाता मिटाना कुछ क्षेत्रों में कानूनी ज़रूरत होती है.
पुष्टि करने के लिए एक और चरण जोड़ना ज़रूरी है. उदाहरण के लिए, अपनी साइट पर निजी जानकारी देखने या बदलने के लिए, मौजूदा पासवर्ड फिर से डालना.
ज़्यादा जानें: वेब ऐप्लिकेशन की निजता से जुड़े सबसे सही तरीके.
पक्का करना कि सारा डेटा सही स्थिति में है
पिछले मॉड्यूल में, आपने फ़्रंटएंड पर पुष्टि करने के बारे में सीखा. फ़्रंटएंड की पुष्टि करना ज़रूरी है. हालांकि, उपयोगकर्ता अब भी अमान्य डेटा सबमिट कर सकते हैं. अगले चरण के तौर पर, आपको अपने डेटाबेस में डेटा सेव करने से पहले बैकएंड पर डेटा की पुष्टि भी करनी होगी. इससे यह पक्का होता है कि आपके डेटाबेस में कोई अमान्य डेटा सेव नहीं होगा.
पुष्टि करने से यह पक्का करने में मदद मिलती है कि डेटा फ़ॉर्मैट मान्य है, लेकिन आपको उपयोगकर्ताओं के डाले गए डेटा पर अब भी भरोसा नहीं करना चाहिए. सुरक्षित तरीके से डेटा कैसे जनरेट किया जा सकता है? क्रॉस साइट स्क्रिप्टिंग (XSS) को रोकने और यह पक्का करने के लिए कि एचटीएमएल में शामिल किया जा सके सारा डेटा सुरक्षित हो, आपको आउटपुट से पहले डेटा को साफ़ करना होगा.
आउटपुट से पहले डेटा को सैनिटाइज़ करने के बारे में ज़्यादा जानें. साथ ही, जहां भी हो सके, Sanitizer API का इस्तेमाल करें.
पक्का करें कि सभी सबमिशन असल लोगों से मिले हों
आपके डेटा को सुरक्षित रखने के लिए, आपके पास बॉट से स्पैम सबमिशन रोकने के कई विकल्प हैं.
पहला विकल्प है, लोगों और बॉट के बीच अंतर करने के लिए, reCAPTCHA जैसी सेवा का इस्तेमाल करना. इसके लिए आपको अपने पेज पर एक JavaScript स्निपेट शामिल करना होगा और अपने सबमिट बटन में अतिरिक्त एट्रिब्यूट जोड़ने होंगे.
reCAPTCHA यह पता लगाने के लिए कई तरह की जांच करता है कि आप इंसान हैं या नहीं. उदाहरण के लिए, वह आपसे इमेज की पहचान करने के लिए कह सकता है. बॉट जैसे, ऑटोमेटेड सॉफ़्टवेयर इन चुनौतियों को पूरा नहीं कर सकते और इस फ़ॉर्म को सबमिट नहीं कर सकते.
शहद का बर्तन
एक अन्य विकल्प 'हनीपॉट' का इस्तेमाल करना है. यह एक ऐसा फ़ील्ड है जो विज़ुअल तौर पर छिपा होता है. इंसानों को हनीपॉट का मैदान नहीं दिखेगा, लेकिन बॉट उसे भर देंगे. बैकएंड पर, आपकी प्रोसेसिंग स्क्रिप्ट यह देख सकती है कि फ़ील्ड पूरा हुआ या नहीं. अगर ऐसा होता है, तो हो सकता है कि सबमिट किया गया कॉन्टेंट किसी बॉट ने भेजा हो. ऐसे में, आपके पास इसे अनदेखा करने का विकल्प होता है.
Akismet जैसी कुछ सेवाएं भी हैं, जो स्पैम से सुरक्षा करने में आपकी मदद कर सकती हैं. Akismet फ़िल्टर, सभी साइटों पर कैप्चर किए गए स्पैम की जानकारी को एक साथ मिलाकर काम करता है. इसके बाद, स्पैम के नियमों का इस्तेमाल करके, आने वाले समय में होने वाले स्पैम को ब्लॉक करता है. Akismet, उपयोगकर्ता के लिए पारदर्शी है और ज़्यादातर स्पैम को पकड़ता है.
जांचें कि आपको कितना समझ आया
सुरक्षा और निजता के बारे में अपनी जानकारी की जांच करें
फ़ॉर्म का इस्तेमाल करके निजी डेटा को ट्रांसफ़र करने का सबसे सही तरीका क्या है?
GET
का अनुरोध.POST
का अनुरोध.स्पैम रोकने का तरीका क्या है?