Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस में संग्रहीत होने से पहले या प्रदर्शित होने पर PHP और MySQL कोड को कब स्वच्छ करना है?

आप (शायद) यहां बात कर रहे अलग-अलग खतरे हैं:

  • आपको स्वच्छता करने की आवश्यकता है SQL इंजेक्शन से बचने के लिए डेटाबेस में डाला जा रहा डेटा ।
  • आपको उस डेटा से भी सावधान रहने की आवश्यकता है जो उपयोगकर्ता को प्रदर्शित किया जा रहा है, क्योंकि इसमें दुर्भावनापूर्ण स्क्रिप्ट हो सकती हैं (यदि इसे अन्य उपयोगकर्ताओं द्वारा सबमिट किया गया है)। क्रॉस-साइट स्क्रिप्टिंग के लिए विकिपीडिया की प्रविष्टि देखें। (उर्फ एक्सएसएस)

आपके डेटाबेस के लिए जो हानिकारक है, वह जरूरी नहीं कि उपयोगकर्ताओं के लिए हानिकारक हो (और इसके विपरीत)। आपको तदनुसार दोनों खतरों का ध्यान रखना होगा।

आपके उदाहरण में:

  • mysqli::real_escape_string का इस्तेमाल करें () आपके डीबी में डाले जा रहे डेटा पर (सैनिटाइज़िंग)

आप शायद डेटा डालने से पहले शोधक का उपयोग करना चाहते हैं - बस यह सुनिश्चित करें कि जब तक उपयोगकर्ता इसे प्राप्त करता है तब तक यह "शुद्ध" हो जाता है।

आपको striplashes का उपयोग करने की आवश्यकता हो सकती है () डीबी से पुनर्प्राप्त डेटा पर उपयोगकर्ता को इसे सही ढंग से प्रदर्शित करने के लिए यदि magic_quotes चालू हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोडनिर्देशक नोडज और नोजज एकीकरण

  2. लारवेल / वाक्पटु:नेस्टेड

  3. mysqldump:लिखने पर 32 त्रुटि मिली

  4. अवैध स्ट्रिंग ऑफसेट 'नाम' लार्वा

  5. MySQL के TIMESTAMP का उपयोग करना बनाम सीधे टाइमस्टैम्प को संग्रहीत करना