स्ट्रिप्सलाश() आमतौर पर उन सर्वरों के लिए उपयोग किया जाता है जिनमें मैजिक कोट्स सक्षम होते हैं। चूंकि मैजिक कोट्स को बहिष्कृत किया गया है (और अनुशंसित नहीं) जो आप शायद खोज रहे हैं वह जोड़ों() है, जो एसक्यूएल इंजेक्शन को रोकने के लिए है। उदाहरण के लिए, अपने एसक्यूएल बयान पढ़ता है यदि:
SELECT * FROM users WHERE username='$username' AND password = '$password'
addslashes() के बिना, एक एक SQL इंजेक्शन के लिए उपयोगकर्ता नाम की स्थापना करके कर सकते हैं: एक और शब्दों में
admin'--
तो, addslashes() - या बेहतर अभी तक, mysql_real_escape_string() - एसक्यूएल इंजेक्शन को रोकने के लिए है, जबकि स्ट्रिप_टैग() एक्सएसएस इंजेक्शन को रोकने के लिए है।
आप शायद 'addlashes() 'का जिक्र कर रहे हैं। लेकिन इसका कभी भी कभी भी SQL कथन को sanitize करने के लिए उपयोग नहीं किया जाना चाहिए। 'Mysql_ *' फ़ंक्शंस के लिए हमेशा डेटाबेस रैपर के मूल एस्केप फ़ंक्शन का उपयोग करें, जैसा कि आप कहते हैं, यह 'mysql_real_escape_string() 'है। –
'स्ट्रिप्सलाश' यह बिल्कुल नहीं करता है, और डेटाबेस के लिए डेटा तैयार करने के साथ कुछ भी नहीं है ... – meagar
क्षमा करें, वहां एक पल उलझन में आया। (भेड़ का बच्चा) तय! – jusunlee