उपयोगकर्ता द्वारा सबमिट किए गए डेटा से ठीक से बचने का एकमात्र तरीका है। दूसरों ने ऐसा करने के कुछ तरीके बताए हैं।
एक और तरीका है:तैयार किए गए कथन और प्लेसहोल्डर। तैयार बयान हर आधुनिक . द्वारा समर्थित हैं PHP डेटाबेस इंटरफ़ेस, जिसमें mysqli शामिल है और पीडीओ .
आइए प्रदर्शन के रूप में पीडीओ का उपयोग करें। मान लें कि हम तालिका में थोड़ा सा डेटा अपडेट करना चाहते हैं foo
एक उपयोगकर्ता द्वारा प्रस्तुत किया गया।
$sql = 'UPDATE foo SET bar = ? WHERE user_id = ?';
$sh = $db->prepare($sql);
$sh->execute(array( $_POST['bar'], $_SESSION['user_id'] ));
सरणी में वेरिएबल execute
. को पास कर दिए गए हैं प्रश्न चिह्न प्लेसहोल्डर को क्वेरी में बदलें। जब ऐसा होता है, तो वे स्वचालित रूप से बच निकले और उद्धृत किए जाते हैं . डेटाबेस में डालने के लिए उन्हें सुरक्षित बनाने के लिए आपको मैन्युअल रूप से उनसे बचने की आवश्यकता नहीं है!
दूसरी ओर, आपको अभी भी उन्हें अनपेक्षित सामग्री के लिए फ़िल्टर करने की आवश्यकता होगी, जैसे HTML, Javascript, वे अक्षर जहाँ आप संख्याओं की अपेक्षा करते हैं, आदि। डेटाबेस में सम्मिलित करने के लिए डेटा को सुरक्षित बनाना केवल आधी लड़ाई ।