मैं PHP अनुप्रयोगों हासिल करने पर कुछ पढ़ने कर रहा हूँ, और मुझे लगता है कि mysqli_real_escape_string
क्योंकि addslashes
कुछ अजीब चीजें एक के लिए होने के लिए पैदा कर सकता है जब MySQL तालिकाओं में डेटा डालने का उपयोग करने के लिए सही कार्य है बनाम स्मार्ट हमलावर सही?htmlentities बनाम addslashes mysqli_real_escape_string
हालांकि, एक बात है जो मुझे भ्रमित कर रही है। मुझे याद है कि addslashes
htmlentities
से बेहतर है जब उपयोगकर्ता द्वारा दर्ज डेटा को अपने डेटा की सुरक्षा के लिए उपयोगकर्ताओं को वापस प्रतिबिंबित करते समय बेहतर लगता है, लेकिन ऐसा लगता है कि addslashes
भेद्यता वाला एक है। क्या यह सच है, या मैं गलत तरीके से याद कर रहा हूँ?
स्पीडवाइव, तैयार कथन केवल तभी बेहतर होते हैं जब आप एकल स्क्रिप्ट में कई बार तैयार क्वेरी का उपयोग कर रहे हों। अन्यथा, आप सर्वर पर दो राउंड ट्रिप कर रहे हैं, एक बार तैयार करने के लिए, और एक बार निष्पादित करने के लिए। यदि आप पहले से ही कोड का उपयोग कर रहे हैं जो स्वचालित रूप से इनपुट सत्यापन सुनिश्चित करता है, तो मुझे नहीं पता कि तैयार कथन बेहतर क्यों हैं। mysql दस्तावेज़ इसमें शामिल हैं। http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html अगर मैं गलत हूं (यह संभव है और संभव है), कृपया मुझे बताएं क्यों। –
ग्रीट माइक। मैंने इस काउंटर तर्क को कई बार देखा है और मुझे लगता है कि इसे आराम करने की जरूरत है। कृपया समझें, कि मैंने जो कहा है उससे मैं असहमत नहीं हूं। हालांकि मैं इस तरह के एक मंच में इस सलाह से असहमत हूं। मुझे लगता है कि इस मामले में त्रुटि प्रवण प्रदर्शन की तुलना में सुरक्षा एक उच्च प्राथमिकता होनी चाहिए। ओपी अपनी साइट के बारे में शिकायत नहीं कर रहा था, बल्कि विभिन्न भागने वाली तकनीकों के बीच स्पष्ट परिभाषा की कमी थी। क्या आप इस बात से सहमत नहीं होंगे कि इस यात्रा से शुरू होने वाले किसी को सुरक्षित सड़क लेनी चाहिए? –
मैं बिल्कुल सहमत हूं। मैं अपने लिए प्रदर्शन के बारे में पूछ रहा था क्योंकि मुझे जवाब का यकीन नहीं है। मैंने यह स्पष्ट नहीं किया। –