MySQL तैयार कथन: भागने से परे
हालांकि मैन्युअल एस्केपिंग SQL इंजेक्शन के खिलाफ सुरक्षा के लिए एक सामान्य तरीका है, यह त्रुटि-प्रवण हो सकता है। PDO (PHP डेटा ऑब्जेक्ट) मानक MySQL के भीतर एक मजबूत विकल्प प्रदान करता है।
PDO सुनिश्चित करता है कि सभी डेटाबेस इनपुट को टेक्स्ट के रूप में माना जाता है, जिससे मैन्युअल एस्केपिंग की आवश्यकता समाप्त हो जाती है। यह दृष्टिकोण, डेटा प्रदर्शन के लिए उचित HTML इकाई एन्कोडिंग के साथ मिलकर, इंजेक्शन के खिलाफ एक ठोस सुरक्षा प्रदान करता है।
पीडीओ के साथ डेटाबेस कनेक्शन स्थापित करने के लिए, एक डेटाबेस ऑब्जेक्ट बनाएं:
try {
$db = new PDO("mysql:host=[hostname];dbname=[database]", '[username]', '[password]');
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('SET NAMES utf8');
} catch (PDOException $e) {
echo $e->getMessage();
}
एक क्वेरी तैयार करने के लिए, तैयार विधि का उपयोग करें:
$stmt = $db->prepare('SELECT * FROM Table WHERE id = ?');
bindParam का उपयोग करके मानों को क्वेरी के प्लेसहोल्डर्स से बांधें विधि:
$stmt->bindParam(1, $id);
निष्पादन विधि का उपयोग करके क्वेरी निष्पादित करें:
$stmt->execute();
पीडीओ असंख्य ऑफर करता है फायदे:
डेटाबेस कनेक्शन के लिए हमेशा पीडीओ का उपयोग करना याद रखें और सुरक्षित डेटा प्रबंधन के लिए इसे उचित HTML इकाई एन्कोडिंग के साथ संयोजित करें। पीडीओ आपके एप्लिकेशन को SQL इंजेक्शन से सुरक्षित रखने का एक मजबूत और कुशल तरीका प्रदान करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3