Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एकाधिक प्रश्नों का उपयोग करते समय जावा और MySQL में SQL इंजेक्शन

बेशक, यदि आप अपने डेटाबेस/ड्राइवर संयोजन को अपने वर्तमान कार्यान्वयन से कई अनुरोधों का समर्थन करने वाली किसी चीज़ में बदलते हैं, तो आप एक निष्क्रिय सुरक्षा छेद को सक्रिय कर देंगे (इसमें कोई संदेह नहीं है) लोग भूल गए होंगे!

नापाक, दुर्भावनापूर्ण परिदृश्यों को नज़रअंदाज़ करते हुए, उपरोक्त आपको उद्धरण वर्णों आदि सहित नियमित डेटा सम्मिलित करने में समस्याएँ पैदा करेगा, अर्थात उपरोक्त केवल काम नहीं करेगा डेटा के विशेष सेट के लिए (जब तक कि साफ/साफ नहीं किया जाता आदि)। मैं इसे केवल कार्यात्मक उद्देश्यों के लिए ठीक कर दूंगा।

आपको PreparedStatement , और इसके लिए डेटा प्रविष्टि विधियाँ (सेटस्ट्रिंग () ) आदि।

उदा.:

   PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                     SET SALARY = ? WHERE ID = ?");
   pstmt.setBigDecimal(1, 153833.00)
   pstmt.setString(2, "Insert what you like here")

सेटस्ट्रिंग () विधि बिना इंजेक्शन/इंजेक्शन की समस्या के किसी भी स्ट्रिंग का समर्थन करेगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:एक संग्रहित प्रक्रिया के भीतर कुशलता से एक तालिका भरें

  2. क्या दूसरी क्वेरी जोड़कर वास्तव में SQL इंजेक्शन संभव है?

  3. केवल (My)SQL का उपयोग करके लिमिट ऑफ़सेट को डायनेमिक कैसे बनाया जाए

  4. किसी ट्रिगर पर किसी तालिका के लिए स्तंभ अनुमतियाँ लागू करना

  5. दिनांक फ़ील्ड के लिए केकफ़्पी में MySQL अब () फ़ंक्शन का उपयोग कैसे करें?