मेरे पास एक साधारण PHP मेलर स्क्रिप्ट है जो POST के माध्यम से सबमिट किए गए फॉर्म से मान लेती है और उन्हें मेल करती है:मेलिंग से पहले PHP में उपयोगकर्ता इनपुट को कैसे स्वच्छ करें?
<?php
$to = "[email protected]";
$name = $_POST['name'];
$message = $_POST['message'];
$email = $_POST['email'];
$body = "Person $name submitted a message: $message";
$subject = "A message has been submitted";
$headers = 'From: ' . $email;
mail($to, $subject, $body, $headers);
header("Location: http://example.com/thanks");
?>
मैं इनपुट को कैसे स्वच्छ कर सकता हूं?
यदि आप सीधे-अप टेक्स्ट फ़ील्ड का उपयोग कर रहे हैं, तो आपके $ _POST डेटा में कोई HTML नहीं होना चाहिए। यदि आप कुछ प्रकार के समृद्ध टेक्स्ट एडिटर का उपयोग कर रहे हैं जो HTML उत्पन्न करता है, तो html_entity_decode() का उपयोग करें। विषय से नियंत्रण वर्णों को पट्टी करना सुनिश्चित करें - विषय में न्यूलाइन वर्ण आपके ईमेल शीर्षलेखों को खराब कर सकते हैं –
@ फ्रैंक किसान: क्या आप सुझाव दे रहे हैं कि उन्हें भरोसा करना चाहिए कि कोई आक्रामक कोड उनके कोड तक नहीं पहुंच पाएगा क्योंकि उन्होंने "सीधे-अप" पाठ का क्षेत्र"? यह भयानक सलाह है। –
हे, सीधे-अप टेक्स्ट फ़ील्ड। बस किसी ऐसे व्यक्ति पर एक एक्सएसएस परीक्षण किया जिसने ऐसा किया था। उन्हें "सीधा-अप टेक्स्ट फ़ील्ड" में दर्ज आईएमजी लिंक के माध्यम से भेजी जाने वाली मनोरंजक तस्वीर पसंद नहीं आया। –