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

यदि मैंने ड्रॉपडाउन का उपयोग किया है तो क्या मुझे SQL इंजेक्शन से बचाव करना होगा?

हां, आपको इससे बचाव करने की जरूरत है।

फ़ायरफ़ॉक्स के डेवलपर कंसोल का उपयोग करके मैं आपको दिखाता हूँ कि ऐसा क्यों है:

<ब्लॉकक्वॉट>

यदि आप इस डेटा को साफ़ नहीं करते हैं, तो आपका डेटाबेस नष्ट हो जाएगा। (यह पूरी तरह से मान्य SQL कथन नहीं हो सकता है, लेकिन मुझे आशा है कि मुझे अपनी बात समझ में आ गई है।)

सिर्फ इसलिए कि आपने अपने ड्रॉपडाउन में उपलब्ध विकल्पों को सीमित कर दिया है इसका मतलब यह नहीं है आपने वह डेटा सीमित कर दिया है जिसे मैं आपका सर्वर भेज सकता हूँ।

यदि आपने अपने पृष्ठ पर व्यवहार का उपयोग करके इसे और प्रतिबंधित करने का प्रयास किया है, तो मेरे विकल्पों में उस व्यवहार को अक्षम करना, या बस अपने सर्वर पर एक कस्टम HTTP अनुरोध लिखना शामिल है जो इस फ़ॉर्म सबमिशन का अनुकरण करता है। कर्ल नाम का एक टूल है ठीक उसी के लिए उपयोग किया जाता है, और मैं सोचता हूं इस SQL ​​​​इंजेक्शन को सबमिट करने का कमांड वैसे भी कुछ इस तरह दिखाई देगा:

curl --data "size=%27%29%3B%20DROP%20TABLE%20*%3B%20--"  http://www.example.com/profile/save

(यह पूरी तरह से मान्य कर्ल कमांड नहीं हो सकता है, लेकिन फिर से, मुझे आशा है कि मुझे अपनी बात समझ में आ गई है।)

तो, मैं दोहराता हूँ:

उपयोगकर्ता इनपुट पर कभी विश्वास न करें। हमेशा अपनी रक्षा करें।

यह न मानें कि कोई भी उपयोगकर्ता इनपुट हमेशा सुरक्षित रहता है। यह संभावित रूप से असुरक्षित है, भले ही यह किसी फ़ॉर्म के अलावा किसी अन्य माध्यम से आता हो। इनमें से कोई भी इतना भरोसेमंद नहीं है कि SQL इंजेक्शन से अपनी सुरक्षा करना छोड़ दे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. "ERROR 3942 (HY000) को ठीक करें:MySQL में VALUES स्टेटमेंट का उपयोग करते समय VALUES क्लॉज की प्रत्येक पंक्ति में कम से कम एक कॉलम होना चाहिए"

  2. Oracle विषम सेवाओं के साथ MySQL का उपयोग करना

  3. sql का उपयोग करके प्रकार के समय की गणना करें

  4. कमांड लाइन से MySQL डंप डाउनलोड करना

  5. तालिका को दो बार निर्दिष्ट किया गया है, दोनों 'अद्यतन' के लिए लक्ष्य के रूप में और mysql में डेटा के लिए एक अलग स्रोत के रूप में