एसक्यूएल इंजेक्शन के आसपास मेरा रास्ता - mysql, sql, linux, sql-इंजेक्शन

मैं एक विशेषज्ञ नहीं हूं लेकिन मेरे पास वेब फ्रंट हैप्रोसेसिंग ऑर्डर जिनके पास डेटा को और लॉग इन के लिए इनपुट होने की आवश्यकता है। उस डेटाबेस का उपयोग करने के बजाय, मैंने स्थिति नामक एक अतिरिक्त कॉलम के साथ एक और बनाया। प्रारंभ में जब ऑर्डर संसाधित होते हैं, तो वे 0 पर सेट होते हैं। क्रॉन जॉब स्थिति 0 के साथ सभी उपयोगकर्ताओं के लिए इस डेटाबेस को मतदान करने में हर 3 मिनट चलाता है। जब दौड़ते हैं, क्रॉन वर्तमान में संसाधित उपयोगकर्ताओं की स्थिति को स्थिति 1 पर सेट करता है (इसलिए यदि वहां हैं कोई भी जो स्क्रिप्ट के रनटाइम के दौरान इनपुट प्राप्त करता है, अगली बार संसाधित किया जाएगा जो केवल 3 मिनट है)।

सभी नए उपयोगकर्ताओं की स्थिति के बाद 1 पर सेट है,बस पासवर्ड और ईमेल फ़ील्ड को फ़ाइल में डाला जाता है और फिर "लोड डेटा इन्फाइल" के माध्यम से वास्तविक डेटाबेस में लोड किया जाता है जिसे उपयोगकर्ताओं को अपने क्लाइंट के साथ लॉग इन करने की आवश्यकता होती है। फॉर्म में कोई वेब लॉग नहीं है। यह ईमेल के लिए है, बस IMAP क्लाइंट का उपयोग कर। हालांकि, मैं क्रॉन के लिए रूट खाता का उपयोग करता हूं क्योंकि मुझे एहसास हुआ कि मुझे डेटा के डंपिंग के लिए उपयोगकर्ता को सभी निजी प्रदान करने की आवश्यकता है और यदि यह होने वाला है, तो मैं पहले स्टेटस कॉलम को अपडेट करने के लिए रूट का उपयोग कर सकता हूं , फिर नए डेटा को एक फ़ाइल में डंप करें, फिर इसे नए डीबी में लोड करें और वापस जाएं और स्थिति 1 के साथ सभी उपयोगकर्ताओं को हटा दें। यह एक साधारण 4 लाइन स्क्रिप्ट है जो कमांड लाइन से mysql चला रही है।

क्या यह एक सुरक्षित शर्त है या क्या मैं कुछ जोखिम ले रहा हूंहर 3 मिनट में एक रूट क्रॉन चल रहा है? मैं नहीं देखता कि मुझे संभवतः कोई समस्या क्यों हो सकती है क्योंकि मैं कभी भी वेब सामग्री को संसाधित करने के लिए रूट का उपयोग नहीं करता हूं। मैं एक अलग MySQL उपयोगकर्ता का उपयोग करता हूं, केवल नए ऑर्डर को संसाधित करने के लिए वेब फ्रंट के लिए INSERT निजी का उपयोग करता हूं। कोई टिप्पणी? मुझे इस तरह से लगता है मैं एसक्यूएल इंजेक्शन से बच सकता हूं भले ही मेरे mysql उपयोगकर्ता के पास अभी भी सीमित निजी हैं, हमेशा ऐसा कुछ हो सकता है जिसे मैं नहीं जानता।

उत्तर:

जवाब के लिए 2 № 1

क्या यह एक सुरक्षित शर्त है या क्या मैं कुछ जोखिम ले रहा हूं

जब तक यह सरल लोड डेटा इन्फाइल क्वेरी है - नहीं। हालांकि,

उस डेटाबेस का उपयोग करने के बजाय, मैंने स्थिति नामक एक अतिरिक्त कॉलम के साथ एक और बनाया।

  1. ऐसा एक उड़ान सर्कस है बिल्कुल अनावश्यक
  2. यह आपको इंजेक्शन से वैसे भी सुरक्षित नहीं करता है।

इसके बजाय, आपको उपयोग करना होगा तैयार बयान आपके आवेदन में सभी प्रश्नों के लिए।


संबंधित सवाल
सबसे लोकप्रिय