urlencode()
कुछ नहीं करना है एसक्यूएल के साथ, इसलिए यह एसक्यूएल इंजेक्शन को रोकने के लिए उतना ही करता है जितना कि केरोसिन आपके बर्गर को और अधिक स्वादिष्ट बनाने के लिए करता है। इसके अलावा, जो कुछ भी आपके डेटाबेस में प्रवेश करता है वह यूआरएल एन्कोडेड समाप्त हो जाएगा, जिसे आपको डीकोड करना होगा यदि आप डेटाबेस को पुनर्प्राप्त करने के बाद उनके साथ कुछ भी उपयोगी करना चाहते हैं।
दूसरी ओर, आपके प्रश्नों से बचने से, आपके एप्लिकेशन को SQL इंजेक्शन से बचाव करने में मदद मिलती है, और इससे अधिक कुछ नहीं। यह डेटा को संशोधित नहीं करता आप अपने प्रश्नों में प्रवेश करते हैं; यह केवल आपके प्रश्नों की सुरक्षा करता है छेड़छाड़ होने से। यही SQL इंजेक्शन का विचार है, और यही कारण है कि आपके डेटा को एन्कोडिंग करने वाला URL इससे बचाव के लिए कुछ नहीं करता है। माना, यह करता है अपने एपॉस्ट्रॉफी को चालू करें '
%27
. में , उन्हें हानिरहित बनाते हुए, लेकिन जैसा कि उपरोक्त पैराग्राफ में बताया गया है, आपको उनका उपयोग करने के लिए URL को उन्हें एपोस्ट्रोफ़ में वापस डीकोड करना होगा।
सही उद्देश्य के लिए सही उपकरण का प्रयोग करें। विशेष रूप से वर्ष 2011 में, आपको अपने क्वेरी वैरिएबल से मैन्युअल रूप से बचने और क्वेरी बनाने के लिए स्ट्रिंग्स को जोड़ने के बजाय तैयार स्टेटमेंट का उपयोग करना चाहिए।