Avatar ·

PHP में उपयोगकर्ता इनपुट को सही तरीके से साफ करना: XSS और SQL इंजेक्शन से सुरक्षा

सभी को नमस्कार! मैं एक शुरुआती PHP डेवलपर हूँ और मुझे सुरक्षा की समस्या का सामना करना पड़ा है। मेरी वेबसाइट पर एक रजिस्ट्रेशन फॉर्म और कमेंट फॉर्म है। मैं उपयोगकर्ताओं से डेटा लेता हूँ और उसे सीधे डेटाबेस में डालता हूँ और पेज पर प्रदर्शित करता हूँ। हाल ही में मैंने देखा कि किसी ने नाम फील्ड में यह कोड डाला: ``, और पेज पर प्रदर्शित होने पर यह स्क्रिप्ट चल गई। मैंने SQL इंजेक्शन के बारे में भी सुना है, लेकिन मुझे पूरी तरह से समझ नहीं आता कि उनसे कैसे बचाव करूँ। यहाँ मेरे कोड का उदाहरण है: ```php // फॉर्म से डेटा प्राप्त करना $name = $_POST['name']; $email = $_POST['email']; // डेटाबेस (MySQL) में सेव करना $query = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; mysqli_query($connection, $query); // पेज पर प्रदर्शित करना echo "नमस्ते, $name!"; ``` डेटा को सही तरीके से कैसे साफ करें? क्या `htmlspecialchars()` या `strip_tags()` का उपयोग करना चाहिए? और डेटाबेस के लिए — `mysqli_real_escape_string()`? या इससे अधिक आधुनिक तरीके हैं? कृपया PHP 8+ के लिए सर्वोत्तम प्रथाएँ बताएँ। टैग: php