क्या mysql_real_escape_string() फ़ंक्शन तैयार स्टेटमेंट के साथ आवश्यक है?
दी गई क्वेरी की तरह तैयार स्टेटमेंट का उपयोग करते समय:
$sql = $db->prepare('select location from location_job where location like ?');
$sql->bind_param('s', $consulta);
$sql->execute();
$sql->bind_result($location);
mysql_real_escape_string() फ़ंक्शन आवश्यक नहीं है क्योंकि तैयार किए गए स्टेटमेंट इनपुट के भीतर किसी भी विशेष वर्ण से बचकर SQL इंजेक्शन हमलों को रोकने का एक सुरक्षित तरीका प्रदान करते हैं।
क्वेरी में सुधार के लिए एक सुझाव '?' का उपयोग करना है प्लेसहोल्डर, आपको निष्पादन विधि के माध्यम से मापदंडों को अधिक आसानी से पारित करने में सक्षम बनाता है:
$sql->execute([$consulta]);
हालाँकि, htmlspecialchars का उपयोग करके उपयोगकर्ता इनपुट को स्वच्छ करना सुनिश्चित करें () क्रॉस-साइट स्क्रिप्टिंग कमजोरियों को रोकने के लिए इसे प्रदर्शित करने से पहले।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3