REGISTER_GLOBALS के खतरे
REGISTER_GLOBALS एक PHP सेटिंग है जो सभी GET और POST वेरिएबल्स को PHP स्क्रिप्ट के भीतर वैश्विक वेरिएबल के रूप में उपलब्ध होने में सक्षम बनाती है। यह कार्यक्षमता सुविधाजनक लग सकती है, लेकिन संभावित सुरक्षा कमजोरियों और कोडिंग प्रथाओं के कारण इसका उपयोग दृढ़ता से हतोत्साहित किया जाता है। शोषण की इसकी क्षमता में। जब GET या POST वेरिएबल्स को अनजाने में अघोषित वेरिएबल्स (जो PHP में अनुमति है) के रूप में एक्सेस किया जाता है, तो इससे दुर्भावनापूर्ण कोड निष्पादन हो सकता है। यह विशेष रूप से चिंताजनक है क्योंकि PHP का उपयोग आमतौर पर वेब विकास के लिए किया जाता है, जहां उपयोगकर्ता इनपुट पर भरोसा नहीं किया जा सकता है।
भेद्यता का उदाहरण
निम्नलिखित PHP कोड पर विचार करें:
अगर ($डीबग) { इको "क्वेरी: $क्वेरी\n"; }
REGISTER_GLOBALS सक्षम होने पर, एक हमलावर स्क्रिप्ट के व्यवहार में हेरफेर करने के अनुरोध के माध्यम से $query वेरिएबल को आसानी से इंजेक्ट कर सकता है। इससे संवेदनशील जानकारी प्रकटीकरण, अनधिकृत फ़ाइल पहुंच, या यहां तक कि रिमोट कोड निष्पादन भी हो सकता है।if ($debug) {
echo "query: $query\n";
}
यह ध्यान रखना महत्वपूर्ण है कि PHP कोड को इंजीनियर किया जाना चाहिए अघोषित चर तक पहुँचने से बचने के लिए। अच्छी तरह से लिखा गया कोड सभी वेरिएबल्स को उचित रूप से घोषित और आरंभ करेगा और सुविधा के लिए REGISTER_GLOBALS पर निर्भर नहीं होना चाहिए।
हालांकि REGISTER_GLOBALS का उपयोग त्वरित और गंदी स्क्रिप्ट के लिए किया जा सकता है, लेकिन इसे आमतौर पर उत्पादन कोड में टाला जाना चाहिए। REGISTER_GLOBALS को अक्षम करके और स्वच्छ कोडिंग प्रथाओं को अपनाकर, डेवलपर्स अपने PHP अनुप्रयोगों की सुरक्षा और विश्वसनीयता को काफी बढ़ा सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3