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

क्या मेरी क्वेरी स्ट्रिंग को सुरक्षित करने के लिए पर्याप्त mysqli_real_escape_string का उपयोग कर रहा है?

अगर हर जगह सही तरीके से इस्तेमाल किया जाए तो real_escape_string एक विकल्प है। लेकिन निम्नलिखित कोड पर विचार करें:

$page = $_GET['page'];
$sql = 'SELECT `name` FROM `user` WHERE `id` = ' . mysqli_real_escape_string($page);

सुरक्षित है या नहीं? real_escape_स्ट्रिंग केवल उद्धरण चिह्नों के अंदर तारों से बचने के लिए उपयोग किया जा सकता है। $page हो सकता है 1 OR id IN (2,3,4,5,6,7,8,9) → कोई उद्धरण चिह्न नहीं, कोई वास्तविक पलायन नहीं। इस मामले में सही डेटाटाइप (int) को कास्ट करने से मदद मिल सकती है। बेहतर होगा कि आप तैयार किए गए कथनों का उपयोग करें, उनका गलत उपयोग करना उतना आसान नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP, रिक्त पृष्ठ का उपयोग करके MySQL से 190k पंक्तियों को हथियाना? मेमोरी या बफर?

  2. वेब सर्वर में सीधे PHP द्वारा सहेजे बिना, सर्वर साइड पर किसी फ़ाइल में बेस 64 स्ट्रिंग को कैसे निर्यात करें?

  3. मैं mySQL में EXECUTE कथन के बाद किसी कथन का परिणाम कैसे प्राप्त करूं?

  4. SQL समान कॉलम नामों वाली 2 तालिकाओं में से चयन करें, केवल शून्य न होने पर कॉलम लौटाएं

  5. PHP और Ajax के साथ MySQL डेटाबेस तालिका में प्रपत्र डेटा कैसे सम्मिलित करें?