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

एसक्यूएल इंजेक्शन को रोकने के लिए mysql_real_escape_string का उपयोग कहां करें?

मूल रूप से, हर बार जब आप कुछ असुरक्षित डेटा (उपयोगकर्ता इनपुट, डेटाबेस से मूल्य, फ़ाइल या बाहरी वेबसाइट, यानी कोई भी डेटा जो आप 100% नहीं हैं) का उपयोग करते हैं सुनिश्चित करें कि यह सुरक्षित है) SQL क्वेरी में, आपको mysql_real_escape_string . ध्यान दें कि OWASP के अनुसार , यह फ़ंक्शन गतिशील तालिका नामों से बचने के लिए सुरक्षित नहीं है (लेकिन यह "मूल" उपयोगकर्ता इनपुट प्रविष्टि की तुलना में बहुत कम सामान्य है)।

मेरा सुझाव है कि आप SQL इंजेक्शन पर OWASP लेख पर एक नज़र डालें। , और बाकी वेबसाइट ब्राउज़ करने के लिए भी। यह वेब अनुप्रयोगों में सुरक्षा के बारे में जानकारी का एक बड़ा स्रोत है।

IMO, SQL इंजेक्शन को रोकने का पसंदीदा तरीका तैयार बयान

कृपया याद रखें कि यदि आप mysql_real_escape_string() . का उपयोग करना चुनते हैं यह केवल तभी काम करता है जब एक स्ट्रिंग के अंदर उपयोग किया जाता है जिसे उद्धरणों द्वारा सीमित किया जाता है। किसी भी गैर-उद्धृत मूल्यों पर इसका कभी भी उपयोग न करें। इसमें संख्यात्मक मान शामिल हैं; इसके बजाय, सत्यापित करें कि उपयोगकर्ता-इनपुट वास्तव में संख्यात्मक है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि कोई तरीका है तो मैं MySQL का उपयोग करके एक क्वेरी में एक एमएस एसक्यूएल तालिका में एक MySQL तालिका में आंतरिक रूप से शामिल हो सकता हूं?

  2. जावा के साथ MySQL कैसे कनेक्ट करें?

  3. mysql कमांड लाइन में लंबवत रिकॉर्ड कैसे दिखाएं?

  4. पीएचपी:अपरिभाषित समारोह mysql_connect ()

  5. MySQL में झंडे के लिए BIT(1) या TINYINT