क्या check_plain () ब्राउज़र में उपयोगकर्ताओं द्वारा दर्ज किए गए पाठ को फिर से प्रदर्शित करने के लिए पर्याप्त है, या क्या मुझे अभी भी filter_xss () के साथ फ़िल्टर करना चाहिए ?
क्या check_plain () ब्राउज़र में उपयोगकर्ताओं द्वारा दर्ज किए गए पाठ को फिर से प्रदर्शित करने के लिए पर्याप्त है, या क्या मुझे अभी भी filter_xss () के साथ फ़िल्टर करना चाहिए ?
जवाबों:
मुझे लगता है कि सवाल का उपयोग करने के बारे में है check_plain(filter_xss($string))
, या filter_xss(check_plain($string))
।
check_plain()
और filter_xss()
दो अलग-अलग हैं, और इसके विपरीत, उद्देश्य:
check_plain()
एक सादे-पाठ स्ट्रिंग में विशेष वर्णों को एनकोड करता है जिसे तब HTML के रूप में प्रदर्शित किया जाता है।filter_xss()
क्रॉस-साइट-स्क्रिप्टिंग (XSS) भेद्यता को रोकने के लिए HTML स्ट्रिंग को फ़िल्टर करता है। विशेष रूप से इसका उद्देश्य है:
यदि आप उपयोग करते हैं check_plain()
, तो फ़ंक्शन को दी गई स्ट्रिंग को सादे पाठ के रूप में उपयोग किया जाना चाहिए; ऐसे मामले में, filter_xss()
आवश्यक नहीं है। यदि आप उपयोग करते हैं filter_xss()
, तो फ़ंक्शन को दी गई स्ट्रिंग को HTML माना जाता है, और check_plain()
आवश्यक नहीं है।
यदि सवाल एक ही स्ट्रिंग के विभिन्न भागों में उपयोग करने के बारे में है check_plain()
और filter_xss()
फिर, जैसा कि greggles ने अपनी टिप्पणी में बताया है, आप check_plain()
टैग विशेषताओं की सामग्री पर और उदाहरण के लिए ( filter_xss()
संपूर्ण HTML टैग पर ) उपयोग कर सकते हैं ।