Jeffrey Cross
Jeffrey Cross

SafeHTML के साथ XSS के हमलों को रोकें

यदि आप अपनी साइट में उपयोगकर्ता द्वारा योगदान की गई सामग्री की अनुमति देते हैं, तो आप सुरक्षित तरीके से आपूर्ति किए गए उपयोगकर्ता के साथ काम करने की समस्या में भाग लेते हैं। चीजों से निपटने का सबसे सुरक्षित तरीका, ज़ाहिर है, उपयोगकर्ता इनपुट क्षेत्रों से सभी HTML को अलग करना या बचाना है। दुर्भाग्य से, ऐसी कई स्थितियां हैं जहां HTML इनपुट के एक बड़े उपसमूह की अनुमति देना अच्छा होगा, लेकिन संभावित रूप से खतरनाक कुछ भी ब्लॉक करें।

SafeHTML एक हल्का PHP उपयोगकर्ता इनपुट सैनिटाइज़र है जो बस यही करता है। किसी भी इनपुट फ़ील्ड को SafeHTML फ़िल्टर के माध्यम से चलाएं और किसी भी जावास्क्रिप्ट, ऑब्जेक्ट टैग या लेआउट ब्रेकिंग टैग को सप्लाई किए गए टेक्स्ट से हटा दिया जाएगा। यह किसी भी गैर-विकृत, विकृत कोड को सही करने का एक उचित काम करता है, जो उपयोगकर्ता द्वारा योगदान किए गए डेटा के साथ एक आम समस्या भी है।

इसका उपयोग करना आसान है। बस SafeHTML ऑब्जेक्ट को तुरंत लिखें और इसकी पार्स विधि को कॉल करें:

require_once ( 'वर्गों / safehtml.php');

$ Safehtml = & new SafeHTML ();

if (isset ($ _POST ["inputfield"])) {$ inputfield = $ _ POST ["inputfield"]; $ cleaninput = $ safehtml-> पार्स ($ इनपुटफील्ड); }

यह पोस्ट किए गए "इनपुटफ़ील्ड" पैरामीटर को ले जाएगा, किसी भी खराबी को हटा देगा, XHTMLify क्या बचा है, और परिणाम $ cleaninput चर में संग्रहीत किया जाएगा। यह आपके कोड के लिए एक सरल जोड़ है, और अपने स्वयं के रोल करने की कोशिश करने की तुलना में बहुत अधिक सीधा है।

पैकेज के साथ मेरा एकमात्र बीफ यह है कि यह डिफ़ॉल्ट अनुमति नीति के साथ लिखा गया है, ऐसे टैग हटा दिए गए हैं जो इसके डिलीटटैग एरे में हैं, लेकिन अनिवार्य रूप से इसके माध्यम से और कुछ भी अनुमति देते हैं। यदि आप केवल उन टैग्स के माध्यम से जाने देते हैं, जिन्हें आप विशेष रूप से अनुमति देना चाहते हैं, तो मैं एक allowTags सरणी जोड़ने और _openHandler विधि को समायोजित करने की सलाह देता हूं, हटाने के बाद निम्नलिखित जोड़ दें:

अगर (in_array ($ नाम, $ यह-> allowTags)) {वापसी सच; }

आपको अपने द्वारा सुरक्षित और स्वागत योग्य सब कुछ के साथ allowTags भरने की आवश्यकता होगी, और आप कुछ याद कर सकते हैं कि लोग वैध रूप से उपयोग करना चाहते हैं, लेकिन यह आसानी से सही हो गया है और डिफ़ॉल्ट इनकार नीति लंबे समय में अधिक सुरक्षित है ।

SafeHTML - एक एंटी- XSS HTML पार्सर, जो PHP में लिखा गया है

शेयर

एक टिप्पणी छोड़