सबसे पहले, Drupal API में इनके बारे में पढ़ें:
इसलिए उन check_plain()
विशेष वर्णों को एनकोड करता है, जिनका HTML (जैसे <
और &
) में विशेष अर्थ है सादा पाठ संस्थाओं में (अर्थात <
और &
क्रमशः) जो कि इन्हें शाब्दिक रूप से प्रस्तुत किया जाएगा (HTML के रूप में व्याख्या नहीं) जब उस स्ट्रिंग को तब पृष्ठ के भाग के रूप में प्रदर्शित किया जाता है एचटीएमएल-मार्कअप। filter_xss()
क्रॉस-साइट-स्क्रिप्टिंग (XSS) भेद्यता को रोकने के लिए फ़ंक्शन HTML स्ट्रिंग को फ़िल्टर करता है। यह चार काम करता है:
- उन पात्रों और निर्माणों को हटाना जो ब्राउज़र को धोखा दे सकते हैं
- यह सुनिश्चित करना कि सभी HTML इकाइयां अच्छी तरह से बनाई गई हैं
- सुनिश्चित करें कि सभी HTML टैग और विशेषताएँ अच्छी तरह से बनाई गई हैं
- सुनिश्चित करें कि कोई HTML टैग्स में एक अस्वीकृत प्रोटोकॉल के साथ URL नहीं हैं (जैसे जावास्क्रिप्ट :)
दोनों फ़ंक्शन का उपयोग उपयोगकर्ताओं से डेटा को साफ करने के लिए किया जाता है ताकि यह सुनिश्चित किया जा सके कि आपकी साइट पर डेटा प्रदान करने से पहले किसी भी उपयोगकर्ता इंजेक्शन को बेअसर कर दिया गया है ।
आप दोनों के माध्यम से एक ही स्ट्रिंग पास नहीं करते ।
यदि आप उपयोग करते हैं check_plain()
तो फ़ंक्शन को दी गई स्ट्रिंग को सादे पाठ (HTML नहीं) के रूप में उपयोग किया जाना चाहिए । तब filter_xss()
जरूरत नहीं है, क्योंकि check_plain()
हमेशा स्ट्रिंग सादे पाठ बना देगा।
यदि आप उपयोग करते हैं filter_xss()
, तो फ़ंक्शन को दी गई स्ट्रिंग को HTML माना जाता है, और check_plain()
इसे गड़बड़ कर देगा।
जब मैं उदाहरण के रूप में आपके द्वारा उपयोग किए जाने वाले टेम्पलेट को देखता हूं, तो यह मुझे ऐसा लगता है जैसे कि सभी तीन फ़ील्ड print()
पहले से ही स्वच्छता वाली सामग्री से आने के लिए पारित हो गए हैं , और अधिक स्वच्छता की आवश्यकता नहीं है।
हालांकि, यदि आप अपना स्वयं का मॉड्यूल बनाते हैं जो उपयोगकर्ता इनपुट को "सुरक्षित" टेक्स्ट फ़िल्टर जैसे "फ़िल्टर किए गए HTML" या "सादे" के माध्यम से पारित किए बिना इकट्ठा करता है , तो आपको स्वच्छता उद्देश्यों के लिए इन कार्यों का उपयोग करना होगा।
filter_xss()
आप संभावित खतरनाक सामग्री (एक अविश्वसनीय उपयोगकर्ता से यानी सामग्री) से फिल्टर XSS करना चाहते हैं, औरcheck_plain()
आप एक स्ट्रिंग से HTML विशेष वर्ण से बचें करना चाहते हैं