बुधवार, 24 फ़रवरी 2010

सुरक्षा – कोड इग्नाइटर

यहां हम वेब सुरक्षा तथा कोड इग्निटर के आंतरिक सुरक्षा विशेषताओं के बारे चर्चा करेंगे.

यूआरआई सुरक्षा

कोड इग्निटर आपके यूआरआई के वर्णों के मामले में काफ़ी प्रतिबंधनात्मक रवैया अपनाता है. इससे यह चीजों को आपके अनुप्रयोग में घुसने से रोकता है. यूआर आई में केवल निम्न लिखित चीजें ही हो सकती हैं:
  • अल्फ़ा न्यूमेरिक टेक्स्ट यानि कि 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 से प्राप्त होने वाला कोई डाटा) आपको निम्नलिखित तीन चरण वाला तरीका अपनाना चाहिए:
  1. आंकडों को साफ़ कर लीजिये इसमें दूषित तत्व हो सकते हैं.
  2. आंकड़ों की पुष्टि करें ताकि यह निश्चित हो जाये कि यह सही प्रकार और आकार का है.(कभी कभी इस चरण को पहले चरण की जगह प्रयोग किया जाता है.)
  3. डाटाबेस में भेजने के पहले आंकड़ों को Escape कीजिये.
इसके लिये कोड इग्निटर आपको निम्न लिखित फ़ंग्शन उपलब्ध कराता है.

  • XSS की सफ़ाई करना

    कोड इग्निटर एक क्रास साइट स्क्रिप्टिंग फ़िल्टर के साथ आता है. यह फ़िल्टर जावास्क्रिप्ट को आपके डाटा में लगाने/बैठाने वाली अथवा अन्य तरह के कोडों पर को कुकीज को हाईजैक करने वाली अक्सर उपयोग में आने वाली तकनीकों पर नजर रखता है. XSS Filter का को यहां पर वर्णित किया गया है.

  • आंकड़ों की पुष्टि करना

    कोड इग्निटर के पास एक Form Validation Class है जो कि आकड़ों की सफ़ाई, पुष्टि तथा तैयार करने में आपकी मदत करेगी.

  • डाटाबेस में प्रविष्टि से पहले सारे आंकड़ों को एस्केप कर दें.

    कभी भी अपने डाटाबेस में कोई जानकारी बिना एस्केप किये मत भेजिये. अधिक जानकारी के लिये कृपया queries से संबंधित अनुभाग देखें.

कोई टिप्पणी नहीं:

एक टिप्पणी भेजें

इस ब्लाग में प्रकाशित सामग्री कापीराईट द्वारा सुरक्षित है. बिना अनुमति इसका किसी भी प्रकार से अन्यत्र प्रयोग/प्रकाशन मूल रूप में/बदल कर उपयोग नही किया जा सकता है.

हिंदी में तकनीकी लेखन को प्रोत्साहित करें

please donate अभी तक वेब डेवलपमेंट अथवा प्रोग्रामिंग आदि से संबंधित जानकारी पर अंग्रेजी का एकाधिकार रहा है. भारत में इतने आई टी गुरू होने के बावजूद भारतीय भाषाओं में इस विषय पर लेखन नगण्य है. इस ब्लाग के माध्यम से मैं हिन्दी भाषिओं तक वेब डेवलपमेंट का ज्ञान पहुंचाने की कोशिश कर रहा हूं. अत: आप सभी से अनुरोध है कि हिंदी में तकनीकी लेखन के लिये सहयोग करें
मैं वेबसाइटें भी बनाता हूं. यदि आपको बनवानी हो तो बताएं.

ARCHIVES

इस ब्लॉग में खोजें

फ़ॉलोअर