हां, कुछ सावधानीपूर्वक तैयार किए गए तारों के लिए एक वैध ईमेल पता कंटेनर के रूप में उपयोग किया जा सकता है।
"फ़िल्टरिंग" मानसिकता से बाहर निकलें और "भागने" मानसिकता में शामिल हो जाएं। एक सार्वभौमिक "इसे सुरक्षित करें" फ़िल्टर बस मौजूद नहीं है।
उदाहरण के लिए, यदि ईमेल पता सादा पाठ दस्तावेज़ में आउटपुट होगा, तो कुछ भी करने की आवश्यकता नहीं है। यदि यह एक HTML दस्तावेज़ में आउटपुट हो रहा है, तो टेक्स्ट नोड के रूप में, तो इसे HTML विशेष वर्णों और अधिकारियों के लिए भागने की आवश्यकता है। यदि इसे एक HTML दस्तावेज़ में रखा जा रहा है, और इसका मान एक HTML विशेषता के अंदर होगा, तो बहुत सावधान बचने की आवश्यकता होगी, और यह संदर्भ पर निर्भर करेगा। यदि इसका उपयोग एसक्यूएल क्वेरी में किया जा रहा है, तो इसे डेटाबेस विशिष्ट एस्केपिंग फ़ंक्शन के माध्यम से भागने की आवश्यकता है। और इसी तरह।
यह सब कुछ उपयोग के संदर्भ के बारे में है, स्ट्रिंग की सामग्री नहीं। यह सबकुछ (केवल ईमेल या अन्य उपयोगकर्ता इनपुट नहीं) के लिए जाता है, और यह केवल सुरक्षा का मामला नहीं है, लेकिन यह प्रोग्रामिंग शुद्धता का विषय है।
fyi, मुझे ईमेल पता spec उद्धृत तारों की अनुमति देता है, इसलिए "<script>alert('xss')</script>"@example.com
जैसे कुछ मान्य होंगे। possibibilites स्पष्ट हैं।
उदाहरण के लिए, कोई सार्वभौमिक "सुरक्षित" ग्रीटिंग नहीं है। कुछ समाजों में विनम्र क्या है दूसरों में कठोर है। अपने संदर्भ को जानें! – Xeoncross
+1। FILTER_VALIDATE_EMAIL यह जांचने के लिए है कि ई-मेल पते मान्य हैं या नहीं, जैसा उपरोक्त उदाहरण दिखाता है, इसका कोई अन्य इंजेक्शन समस्या से कोई लेना देना नहीं है। यदि यह * ब्लॉक उद्धरण या उससे कम था, तो यह केवल सह-घटनाओं से होगा और ऐसा कुछ नहीं होगा जिस पर आपको भरोसा करना चाहिए। – bobince