यहां हम वेब सुरक्षा तथा कोड इग्निटर के आंतरिक सुरक्षा विशेषताओं के बारे चर्चा करेंगे.
यूआरआई सुरक्षा
कोड इग्निटर आपके यूआरआई के वर्णों के मामले में काफ़ी प्रतिबंधनात्मक रवैया अपनाता है. इससे यह चीजों को आपके अनुप्रयोग में घुसने से रोकता है. यूआर आई में केवल निम्न लिखित चीजें ही हो सकती हैं:
- अल्फ़ा न्यूमेरिक टेक्स्ट यानि कि A-Z तथा अंक
- टिल्ड: ~
- पीरियड या बिंदी: .
- अपूर्ण विराम या कालन: :
- अधोडैश या अंडरस्कोर: _
- डैश: -
GET, POST, तथा COOKIE के आंकड़े
GET डाटा को कोड इग्निटर अनुमति नही देता क्योंकि इसका तंत्र पारंपरिक क्वेरी स्ट्रिंग्स की बजाय यूआरआई के टुकड़ों का इस्तेमाल करता है(जब तक कि आपने अपनी कांफ़िग फ़ाइल से क्वेरी स्ट्रिंग को सक्षम ना कर दिया हो). तंत्र के आरंभ में ही सार्वभौमिक(Global) GET array को इनपुट क्लास के द्वारा
unset कर दिया जाता है.
Register_globals
तंत्र के आरंभ में ही $_POST तथा $_COOKIE को छोड़कर सारे ग्लोबल वैरियेबलों को Unset कर दिया जाता है. ऐसा करना उतना ही प्रभावशाली है जितना कि register_globals = off करना.
magic_quotes_runtime
तंत्र के आरंभ में magic_quotes_runtime डायरेक्ट्रिव को आफ़ कर दिया जाता है ताकि आपको डाटाबेस से आने वाले डाटा में से स्लैश ना हटाने पड़ें.
सर्वोत्तम तरीके
अपने अनुप्रयोग में से कोई भी डाटा स्वीकार करने से पहले (चाहे यह फ़ार्मों के द्वारा जमा किये जाने वाला POST डाटा हो, COOKIE डाटा, URI डाटा, XML-RPC डाटा अथवा SERVER array से प्राप्त होने वाला कोई डाटा) आपको निम्नलिखित तीन चरण वाला तरीका अपनाना चाहिए:
- आंकडों को साफ़ कर लीजिये इसमें दूषित तत्व हो सकते हैं.
- आंकड़ों की पुष्टि करें ताकि यह निश्चित हो जाये कि यह सही प्रकार और आकार का है.(कभी कभी इस चरण को पहले चरण की जगह प्रयोग किया जाता है.)
- डाटाबेस में भेजने के पहले आंकड़ों को Escape कीजिये.
इसके लिये कोड इग्निटर आपको निम्न लिखित फ़ंग्शन उपलब्ध कराता है.
-
XSS की सफ़ाई करना
कोड इग्निटर एक क्रास साइट स्क्रिप्टिंग फ़िल्टर के साथ आता है. यह फ़िल्टर जावास्क्रिप्ट को आपके डाटा में लगाने/बैठाने वाली अथवा अन्य तरह के कोडों पर को कुकीज को हाईजैक करने वाली अक्सर उपयोग में आने वाली तकनीकों पर नजर रखता है. XSS Filter का को यहां पर वर्णित किया गया है.
-
आंकड़ों की पुष्टि करना
कोड इग्निटर के पास एक Form Validation Class है जो कि आकड़ों की सफ़ाई, पुष्टि तथा तैयार करने में आपकी मदत करेगी.
-
डाटाबेस में प्रविष्टि से पहले सारे आंकड़ों को एस्केप कर दें.
कभी भी अपने डाटाबेस में कोई जानकारी बिना एस्केप किये मत भेजिये. अधिक जानकारी के लिये कृपया queries से संबंधित अनुभाग देखें.
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें