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