PHP में POST डेटा के साथ काम करते समय, विशेष रूप से एक के भीतर वर्डप्रेस वातावरण में, जादुई उद्धरण बंद होने के बावजूद अप्रत्याशित ऑटो-एस्केपिंग व्यवहार का सामना करना संभव है। यह पेचीदा मुद्दा तब उठता है जब POST डेटा स्वचालित रूप से निकल जाता है, भले ही जादुई उद्धरण कथित तौर पर अक्षम कर दिए गए हों (get_magic_quotes_gpc() 0 लौटाता है)।
गहराई से जानने पर इस मुद्दे में, यह स्पष्ट हो जाता है कि वर्डप्रेस इस ऑटो-एस्केपिंग तंत्र को ट्रिगर करने में महत्वपूर्ण भूमिका निभाता है। जब वर्डप्रेस को आपके एप्लिकेशन की आरंभीकरण प्रक्रिया के हिस्से के रूप में बूटस्ट्रैप किया जाता है, तो इसका कोड PHP के जादुई उद्धरणों के प्राकृतिक व्यवहार में हस्तक्षेप करता है। सिंगल कोट्स (') से बच रहा है। यह व्यवहार तब भी विस्तारित होता है जब जादुई उद्धरण php.ini में अक्षम होते हैं। वर्डप्रेस कोर ट्रैक सिस्टम (टिकट 18322)। यह समस्या अनुरोध डेटा के गलत प्रबंधन से संबंधित है, जो अवांछित पलायन को ट्रिगर करता है।
सौभाग्य से, इस स्वत: भागने की दुविधा को हल करने के लिए एक समाधान उपलब्ध है . वर्डप्रेस कोडेक्स किसी भी ऑपरेशन को करने से पहले POST डेटा को "अन-एस्केप" करने के लिए Stripslashes_dep() फ़ंक्शन का उपयोग करने की अनुशंसा करता है। इस फ़ंक्शन को नियोजित करके, आप वर्डप्रेस के ऑटो-एस्केपिंग को प्रभावी ढंग से ओवरराइड कर सकते हैं और डेटा को उसके मूल प्रारूप में पुनः प्राप्त कर सकते हैं।
इस समाधान को लागू करने के लिए, अपनी PHP स्क्रिप्ट में निम्नलिखित कोड जोड़ें:
$_GET = array_map('स्ट्रिपस्लैश_डीप', $_GET); $_POST = array_map('स्ट्रिपस्लैश_डीप', $_POST); $_COOKIE = array_map('स्ट्रिप्सलैश_डीप', $_COOKIE); $_SERVER = array_map('स्ट्रिप्सलैश_डीप', $_SERVER); $_REQUEST = array_map('stripslashes_dep', $_REQUEST);यह कोड सभी सुपरग्लोबल्स से स्लैश को हटा देता है, यह सुनिश्चित करता है कि PHP में एक्सेस करने पर POST डेटा स्वचालित रूप से बच नहीं जाता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3