मेरे पास एक ऐसा फॉर्म है जिसमें मैं उपयोगकर्ता से नाम, ईमेल और संदेश स्वीकार करता हूं। मैं नाम, ईमेल और संदेश के लिए सत्यापन करता हूं और इसे mail()
फ़ंक्शन का उपयोग करके भेजता हूं।क्या मुझे ईमेल में भेजने से पहले उपयोगकर्ता द्वारा इनपुट किए गए डेटा को स्वच्छ करने की आवश्यकता है
यदि मैं डेटाबेस में $name
, $email
और $message
इनपुट कर रहा था, तो मैं SQL डेटा इंजेक्शन के लिए इस डेटा से बच जाऊंगा; या, यदि मैं इसे किसी वेबपृष्ठ पर प्रतिबिंबित कर रहा था, तो मैं htmlspecialchars()
का उपयोग करूंगा।
जब मैं इस डेटा को ईमेल में भेज रहा हूं तो मुझे क्या करना चाहिए? मुझे पता है मुझे एसक्यूएल इंजेक्शन के बारे में चिंता करने की ज़रूरत नहीं है, लेकिन एक्सएसएस के बारे में क्या? क्या मुझे इन तीन चरों पर भी htmlspecialchars()
का उपयोग करना चाहिए?
मैं इस तरह मेल भेजने:
mail('[email protected]', 'Contact From: '. $name, "$message", 'From: '. $email);
मैं ईमेल इंजेक्शन के बारे में पढ़ा है, लेकिन मैं इसे नहीं समझ सकता।
कृपया मुझे इसके बारे में बताएं।
को रोकने के लिए यह निर्भर करता है कि कैसे आप इसे प्रयोग कर रहे हैं यकीन है कि यह एकवचन और नहीं एक से अधिक पते बनाने के लिए ईमेल पते की पुष्टि करने की जरूरत है। यदि आप उपयोग इनपुट के आधार पर सेथ हेडर सेट कर रहे हैं, तो हाँ, इसे sanitizing की आवश्यकता होगी। – andrewsi
यह ऐसा कुछ भी है जिसे मैं समझ नहीं पा रहा हूं! मैं इसके लिए जवाब देखने के लिए तत्पर हूं। – pattyd
मेल ('[email protected] ',' से संपर्क करें: '। $ नाम, "$ संदेश",' से: '। $ ईमेल); – user2471133