] mysql_query ("INSERT इन` टेबल` (`कॉलम`) मान ('$ unsafe_variable')"); ] ]
यह डेटाबेस पर दुर्भावनापूर्ण हमलों का दरवाजा खोलता है।
$unsafe_variable = $_POST['user_input'];
mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
SQL इंजेक्शन को रोकने के लिए अनुशंसित सुरक्षा प्रथाओं को SQL से डेटा को अलग करना है, चाहे आप किस डेटाबेस का उपयोग कर रहे हों। इसका मतलब यह है कि डेटा को डेटा के रूप में माना जाता है और SQL पार्सर द्वारा कमांड के रूप में कभी भी व्याख्या नहीं की जाती है। इसे प्राप्त करने का सबसे कुशल तरीका प्रीप्रोसेसिंग स्टेटमेंट और पैरामीटर वाले क्वेरी का उपयोग करना है।
]
] यह यह सुनिश्चित करके दुर्भावनापूर्ण SQL इंजेक्शन प्रयासों को रोकता है कि ट्रांसफर से पहले PHP द्वारा डेटा पार्स नहीं किया गया है।
INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
]
यह एक सामान्य दृष्टिकोण है जो सभी समर्थित डेटाबेस ड्राइवरों के साथ काम करता है। यहाँ इसके उपयोग का एक उदाहरण है:
] $ stmt-> निष्पादित (['नाम' => $ नाम]); foreach ($ stmt $ पंक्ति के रूप में) { // प्रसंस्करण लाइन }]
MySQL डेटाबेस के लिए, आप MySQLI का उपयोग कर सकते हैं। Php 8.2 में शुरू होकर, आप एक चरण में SQL स्टेटमेंट तैयार करने, बांधने, और निष्पादित करने के लिए
execute_query () विधि का उपयोग कर सकते हैं: ] जबकि ($ पंक्ति = $ परिणाम-> fetch_assoc ()) { // प्रसंस्करण लाइन }
Php 8.1 और नीचे के लिए:
] $ stmt-> bind_param ('s', $ नाम); $ stmt-> निष्पादित (); $ परिणाम = $ stmt-> get_result (); जबकि ($ पंक्ति = $ परिणाम-> fetch_assoc ()) { // प्रसंस्करण लाइन }
]
] ]pdo कनेक्शन: ] $ dbconnection-> setAttribute (pdo :: attr_emulate_prepares, false); $ dbconnection-> setAttribute (pdo :: attr_errmode, pdo :: iermode_exception);
mysqli कनेक्शन:
$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');
$stmt->execute([ 'name' => $name ]);
foreach ($stmt as $row) {
// 处理行
}
]
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3