यह विषय इतना गलत है!
आपको उपयोगकर्ता के इनपुट को फ़िल्टर नहीं करना चाहिए! यह वह जानकारी है जो उसके द्वारा दर्ज की गई है। यदि मैं अपना पासवर्ड चाहता हूं तो मैं क्या करूँगा: '"'>s3cr3t<script>alert()</script>
अक्षरों को फ़िल्टर करें और मुझे एक बदले गए पासवर्ड से छोड़ दें, इसलिए मैं अपने पहले लॉगिन में भी सफल नहीं हो सकता? ये गलत है।
एसक्यूएल इंजेक्शन से बचने के लिए तैयार कथन या mysql_real_escape_string()
का उचित समाधान है और अपने एचटीएमएल कोड को गड़बड़ाने से बचने के लिए वर्णों के संदर्भ-जागरूक भागने का उपयोग करें।
मुझे आपको याद दिलाना है कि वेब केवल उन तरीकों में से एक है जिसे आप उपयोगकर्ता द्वारा दर्ज की गई जानकारी का प्रतिनिधित्व कर सकते हैं। यदि आप कुछ डेस्कटॉप सॉफ़्टवेयर करते हैं तो क्या आप इस तरह के स्ट्रिपिंग स्वीकार करेंगे? मुझे उम्मीद है कि आपका जवाब नहीं है और आप समझेंगे कि यह सही तरीका क्यों नहीं है।
ध्यान दें कि विभिन्न संदर्भों में अलग-अलग वर्णों से बच जाना होगा।
<span title="{$user->firstName}">{$user->firstName}</span>
हालांकि, '"><script>window.document.location.href="http://google.com"</script>
की तरह बनना उपयोगकर्ता अपने पहले नाम की स्थापना की है, तो आप क्या करते हैं वाला है: उदाहरण के लिए, यदि आप टूलटिप के रूप में उपयोगकर्ता पहला नाम प्रदर्शित करने के लिए की जरूरत है, आप की तरह कुछ का उपयोग करेंगे? उद्धरण पट्टी? यह बहुत गलत होगा! इस गैर-अर्थ को करने के बजाय, डेटा को प्रस्तुत करते समय उद्धरणों से बचने पर विचार करें, इसे जारी रखते हुए नहीं!
एक और संदर्भ जो आपको विचार करना चाहिए वह मूल्य को प्रतिपादित करते समय है। पहले इस्तेमाल किए गए एचटीएमएल कोड पर विचार करें और कल्पना करें कि उपयोगकर्ता का पहला नाम <textarea>
जैसा है। यह सभी HTML कोड को लपेट देगा जो इस textarea तत्व में निम्नानुसार है, इस प्रकार पूरे पृष्ठ को तोड़ देगा।
फिर भी - उस संदर्भ के आधार पर डेटा से बचने पर विचार करें जिसका आप इसका उपयोग कर रहे हैं!
पी। वास्तव में उन नकारात्मक वोटों पर प्रतिक्रिया कैसे करें। क्या आप, लोग वास्तव में मेरा जवाब पढ़ रहे हैं?
डुप्ले: http://stackoverflow.com/questions/129677/whats-the-best-method-for-sanitizing-user-input-with-php – troelskn
यह दृष्टिकोण कई पहलुओं पर गलत है! मैंने नीचे एक उत्तर पोस्ट किया है और उनके लेखकों के विचारों से इनकार करने के लिए प्रत्येक प्रतिक्रिया -1 को रेट किया है। –