हाँ, यह असुरक्षित है। आप सीधे उपयोगकर्ता इनपुट से मूल्यों की बात कर रहे हैं और इसे अपनी क्वेरी में डाल रहे हैं।
आपको देखना चाहिए mysql_real_escape_string
, या (अधिमानतः) MySQLi का उपयोग करें जो पैरामीटरयुक्त प्रश्न प्रदान करता है। SQL इंजेक्शन उपयोगकर्ता डेटा को डेटा के बजाय SQL कोड के रूप में इंजेक्ट किए जाने के कारण होता है। किसी क्वेरी को सुरक्षित करने का एकमात्र सही तरीका पैरामीटरयुक्त प्रश्नों का उपयोग करना है, जो प्रोटोकॉल स्तर पर डेटा और क्वेरी टेक्स्ट को अलग करते हैं।
इसके अलावा, आपके पासवर्ड प्लेन टेक्स्ट में स्टोर किए जाते हैं। आपको नमकीन हैश फ़ंक्शन का उपयोग एक पूर्ण न्यूनतम के रूप में करना चाहिए।
आपको इन भयानक सवालों पर भी एक नज़र डालनी चाहिए:
- मैं SQL इंजेक्शन को कैसे रोक सकता हूं PHP में?
- PHP पासवर्ड के लिए सुरक्षित हैश और नमकए>
- फॉर्म करने के लिए निश्चित गाइड- आधारित वेबसाइट प्रमाणीकरण