SQL दस्तावेज़ों को देखते हुए, आप अपनी क्वेरी में एक प्रश्न चिह्न (?) का सामना कर सकते हैं। ये प्लेसहोल्डर पैरामीटर किए गए क्वेरी का प्रतिनिधित्व करते हैं और व्यापक रूप से कार्यक्रमों में गतिशील एसक्यूएल को निष्पादित करने के लिए उपयोग किए जाते हैं। पैरामीटर किए गए क्वेरी के कई फायदे हैं। वे क्वेरी से पैरामीटर मानों को अलग करके कोड को सरल बनाते हैं, जिससे यह अधिक कुशल और लचीला हो जाता है। इसके अतिरिक्त, वे SQL इंजेक्शन हमलों को रोककर सुरक्षा बढ़ाते हैं।
उदाहरण के लिए, एक छद्म-कोड उदाहरण में:
परिणाम = cmd.execute ()
के रूप में फिर से लिखा जा सकता है:
ODBCCommand cmd = new ODBCCommand("SELECT thingA FROM tableA WHERE thingB = 7")
result = cmd.Execute()
यह तकनीक SQL इंजेक्शन के जोखिम को समाप्त करते हुए, सही स्ट्रिंग एस्केप सुनिश्चित करती है। निम्नलिखित परिदृश्य पर विचार करें:
ODBCCommand cmd = new ODBCCommand("SELECT thingA FROM tableA WHERE thingB = ?")
cmd.Parameters.Add(7)
result = cmd.Execute()
यदि उपयोगकर्ता स्ट्रिंग रॉबर्ट में प्रवेश करता है '); हालाँकि, पैरामीटर किए गए क्वेरी का उपयोग करें:
string s = getStudentName()
cmd.CommandText = "SELECT * FROM students WHERE (name = '" s "')"
cmd.Execute()
लाइब्रेरी फ़ंक्शन दुर्भावनापूर्ण कोड निष्पादन को रोकने के लिए इनपुट को साफ करें। ] ] cmd.parameters.addwithvalue ("@varname", 7) परिणाम = cmd.execute ()
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3