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

अनुरोध URL में तालिका का नाम और फ़ील्ड नाम उजागर करना

मुझे URL और डेटाबेस में समान (या बहुत समान) नामों का उपयोग करने में कोई समस्या नहीं है - निश्चित रूप से, आप कार्यान्वयन विवरण "उजागर" कर सकते हैं, लेकिन यदि आप URL और DB में मौलिक रूप से भिन्न नाम चुन रहे हैं, तो आप ' शायद बुरे नाम चुन रहे हैं। मैं लगातार नामकरण का भी प्रशंसक हूं - कोडर्स/परीक्षक/ग्राहकों के साथ संचार और अधिक कठिन हो जाता है यदि हर कोई सब कुछ कुछ अलग कहता है।

मुझे क्या बग है कि आप उपयोगकर्ता को अपने डेटाबेस पर मनमानी क्वेरी चलाने दे रहे हैं। http://.../index.php?table=users&user_id=1 , कहना? या http://.../index.php?table=users&password=password (ऐसा नहीं है कि आपको प्लेनटेक्स्ट में पासवर्ड स्टोर करना चाहिए)? या http://.../index.php?table=users&age=11 ?

यदि डीबी से जुड़े उपयोगकर्ता के पास वेब ब्राउज़र के सामने बैठे उपयोगकर्ता के समान अनुमतियां हैं, तो यह समझ में आ सकता है। आम तौर पर, ऐसा नहीं होने जा रहा है, इसलिए आपको कुछ परत की आवश्यकता होगी जो यह जानती हो कि उपयोगकर्ता क्या है और उसे देखने की अनुमति नहीं है, और उस परत को श्वेतसूची में सही ढंग से लिखना बहुत आसान है।

(यदि आपने संग्रहीत कार्यविधियों में पर्याप्त तर्क फंसाया है, तो यह काम कर सकता है, लेकिन तब आपकी संग्रहीत कार्यविधियाँ कॉलम नामों को हार्ड-कोड कर देंगी...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel प्रश्नों में शामिल हों AS

  2. MySQL दिनांक स्वरूप - दिनांक सम्मिलित करने में कठिनाई

  3. सफल निष्पादन के बाद मेरी नोडज स्क्रिप्ट अपने आप बाहर नहीं निकल रही है

  4. क्या हाइबरनेट में चुनिंदा और गिनती प्रश्नों को निष्पादित करने से पेजिनेशन बनाने का एक और अधिक प्रभावी तरीका है?

  5. मैं MySQL में पूरे परिणाम सेट को कैसे जोड़ूं?