Avatar ·

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

सभी को नमस्कार! मैं एक शुरुआती PHP डेवलपर हूँ और अपनी पहली वेबसाइट — एक साधारण गेस्ट बुक — बना रहा हूँ। उपयोगकर्ता नाम और संदेश छोड़ते हैं, जिन्हें मैं MySQL में सेव करता हूँ और फिर पेज पर प्रदर्शित करता हूँ। अभी मेरा कोड कुछ इस तरह है: ```php // डेटाबेस में सेव करना $name = $_POST['name']; $message = $_POST['message']; $sql = "INSERT INTO comments (name, message) VALUES ('$name', '$message')"; mysqli_query($conn, $sql); // पेज पर प्रदर्शित करना echo "

$name: $message

"; ``` मैंने देखा कि अगर नाम फील्ड में `` जैसा कुछ डाला जाए, तो संदेश प्रदर्शित होने पर एक पॉप-अप विंडो आती है। और अगर `' OR '1'='1` डाला जाए, तो क्वेरी टूट जाती है। मैंने पढ़ा है कि इनपुट को "सैनिटाइज़" (sanitize) करना चाहिए, लेकिन मुझे समझ नहीं आता कि इसे सही तरीके से कैसे किया जाए। इंटरनेट पर ढेरों सुझाव हैं — कुछ कहते हैं `htmlspecialchars()` का उपयोग करें, कुछ `strip_tags()` का, और कुछ `mysqli_real_escape_string()` का। असल में क्या ज़रूरी है? या सब एक साथ इस्तेमाल करने होंगे? कृपया मार्गदर्शन करें।