आप सही कह रहे हैं।
मैजिक कोट्स स्टफ का sql स्टफ से कोई लेना-देना नहीं है और इसे इससे कनेक्ट नहीं किया जाना चाहिए।
क्योंकि मैजिक कोट्स एक साइट-वाइड समस्या है और sql एस्केपिंग sql केवल संबंधित समस्या है।पी>
इसलिए, उन्हें अलग-अलग उपचार की आवश्यकता होती है जिसका कभी भी संयोजन में उपयोग नहीं किया जाना चाहिए।
आपको जादू उद्धरणों से बिना शर्त छुटकारा पाना होगा, क्योंकि यह न केवल SQL सामग्री बल्कि आपकी साइट के हर डेटा हेरफेर को खराब करता है।
इसलिए, स्क्रिप्ट के प्रत्येक कॉल पर चलने वाली किसी भी बूटस्ट्रैप फ़ाइल में कुछ स्ट्रिप्सलाश कोड डालना बुद्धिमानी होगी। कोड आप ऐसे कोड के कई कार्यान्वयन में पा सकते हैं, बस 'stripslashes_deep' फ़ंक्शन के लिए Google।
यह बुद्धिमानी होगी कि यह कोड हमेशा अनुकूलता के लिए जादू उद्धरणों की वास्तविक स्थिति के बावजूद हमेशा (निश्चित रूप से get_magic_quotes_gpc () की जांच की स्थिति के तहत) चलाया जाए।
लेकिन उन्हें बंद करने की एक और संभावना है:अपने आवेदन की जड़ में एक php.ini फ़ाइल बनाने का प्रयास करें।
हालाँकि, आपके कोड में एक गंभीर गलती है। वास्तव में, यह किसी भी चीज़ की रक्षा नहीं करता है।
आप $memberid
से बच रहे हैं और $postid
लेकिन उन्हें उद्धृत न करें! . इस प्रकार, कोई सुरक्षा नहीं है। सिर्फ इसलिए कि बचना तभी काम करता है जब उद्धरण के साथ प्रयोग किया जाता है।
कृपया, याद रखें:
भागना सुरक्षा का पर्याय नहीं है!
अकेले भागने से कुछ नहीं हो सकता। पालन करने के लिए नियमों का एक पूरा सेट है।
मैंने हाल ही में एक अच्छी व्याख्या लिखी है, इसलिए, मैं खुद को नहीं दोहराऊंगा:mysql_* फ़ंक्शन को PDO और तैयार किए गए स्टेटमेंट से बदलना