आप डेटाबेस कनेक्शन के लिए कनेक्शन सेटिंग्स कहां रखते हैं (मेजबान, dbname, उपयोगकर्ता, पासवर्ड जैसी चीजें)? क्या यह डेटाबेस क्लास या फ़ाइल में है, या कॉन्फ़िगरेशन फ़ाइल में बाहर है, या कहीं और?डेटाबेस कनेक्शन सेटिंग्स कहां रखना है?
उत्तर
यह कई तरीकों से किया जा सकता है, लेकिन इसे सामान्य सेटिंग्स में रखना है, और उस फ़ाइल को वेबूट के बाहर रखना है, ताकि डेटाबेस पासवर्ड के बारे में जानकारी गलती से वेब में लीक न हो।
आदर्श रूप से, आपको इसे एक कॉन्फ़िगरेशन फ़ाइल में रखना चाहिए, जो एक PHP सरणी के रूप में सरल हो सकता है।
उदाहरण के लिए: db_config.php
$db_config = array(
'host' => 'localhost',
'user' => 'username',
'password' => 'qwerty'
);
फिर आप अधिकतम सुरक्षा के लिए अपने दस्तावेज़ जड़ बाहर इस फाइल से देना चाहिए। इस तरह, यदि आपका वेबहोस्ट आपको विफल करता है और PHP फ़ाइलों को टेक्स्ट फ़ाइलों (होता है) के रूप में सेवा करना शुरू करता है, तो कोई भी आपके डीबी प्रमाण-पत्र प्राप्त नहीं कर सकता है।
हाय आपके उत्तर के लिए धन्यवाद। क्या इसे वैश्विक स्तर पर लागू किया जाएगा या कुछ और होगा। –
@DaryllSantos आपको फ़ाइल को तब और साथ ही शामिल करना होगा जब आपको इसकी आवश्यकता हो। – xbonez
यह कर तरीकों का एक बहुत हैं, लेकिन मैं इसे परिभाषित करने स्थिरांक द्वारा इस तरह से कार्य करें:
Create a config/db.php
<?php
define('DB_INFO','mysql:host=localhost;dbname=test');
define('DB_USER','root');
define('DB_PASS','');
PostgreSQL के लिए, मैं वास्तव में pg_service.conf
का उपयोग करना चाहते। यह मुझे सभी कनेक्शन विशिष्ट सेटिंग्स (होस्टनाम, डेटाबेस नाम, उपयोगकर्ता नाम, पासवर्ड, आदि) ~/.pg_service.conf
या /etc/postgresql-common/pg_service.conf
में रखने और उन्हें सामान्य नाम (सेवा का नाम) देने की अनुमति देता है।
अब, किसी भी प्रोग्राम (पर्ल, पीएचपी, आदि) जो डेटाबेस से कनेक्ट करना चाहता है, बस "service=name"
को उनके कनेक्शन स्ट्रिंग के रूप में निर्दिष्ट कर सकता है - अच्छा, साफ, सुरक्षित और आसानी से बनाए रखने योग्य।
जहाँ तक मुझे पता है, MySQL ~/my.cnf
या /etc/my.cnf
फ़ाइलों के लिए समान तंत्र है - आपको लगता है कि इस पर गौर कर सकते हैं।
- 1. डोमेन तर्क कहां रखना है, जिसे डेटाबेस
- 2. कहां रखना है?
- 3. इकाई परीक्षण कहां रखना है?
- 4. एचटीएमएल टेम्पलेट्स कहां रखना है?
- 5. PowerShell स्क्रिप्ट्स कहां रखना है?
- 6. ActiveModel :: Validator कहां रखना है?
- 7. डेटाबेस कनेक्शन कहां और कब खोलें
- 8. वेबस्केट कनेक्शन को जीवित रखना
- 9. डीडीडी: डोमेन इंटरफेस, इंफ्रास्ट्रक्चर कहां रखना है?
- 10. एमवीवीएम डाटा एक्सेस लेयर कहां रखना है?
- 11. डेल्फी डीसीयू फाइलें कहां रखना है?
- 12. पीएल/एसक्यूएल स्थिरांक कहां रखना है?
- 13. मेरे कस्टम एचटीएमएल हेल्पर्स कहां रखना है?
- 14. Django में आम प्रश्न कहां रखना है?
- 15. सी # क्या मुझे कनेक्शन पूलिंग में खुले कनेक्शन रखना चाहिए
- 16. डेटाबेस कनेक्शन पूल बनाना
- 17. डेटाबेस कनेक्शन php-mysql
- 18. नोटपैड ++ स्टोर शैली कॉन्फ़िगरेटर सेटिंग्स कहां है?
- 19. जूमला डेटाबेस सेटिंग्स
- 20. डेटाबेस में सेटिंग्स
- 21. मुझे डेटाबेस कनेक्शन स्ट्रिंग कहां स्टोर करनी चाहिए?
- 22. आईओसी पैटर्न में कनेक्शनस्ट्रिंग जैसी चीज़ों को कहां रखना है?
- 23. एंड्रॉइड स्टोर सिस्टम सेटिंग्स जैसे वाईफाई नेटवर्क कहां है?
- 24. क्रॉस-प्लेटफ़ॉर्म ऐप्स को अपना डेटा कहां रखना चाहिए?
- 25. ओरेकल बग डेटाबेस कहां है?
- 26. QSQLITE ड्राइवर लोड नहीं हुआ - qt डेटाबेस ड्राइवर प्लगइन्स कहां रखना है
- 27. MEF: मुझे कंपोज़िशनकंटर कहां रखना चाहिए?
- 28. मेरा win32 प्रोग्राम कहां रखना चाहिए?
- 29. jQuery टेम्पलेट्स - मुझे उन्हें कहां रखना चाहिए?
- 30. मुझे खाली बेस क्लास कहां रखना चाहिए?
यह आपके कार्यान्वयन पर निर्भर करता है ... आप एक सेटिंग फ़ाइल में डाल सकते हैं ताकि आप जब भी चाहें अनुकूलित कर सकें। या यदि आप ओओपी से प्यार करते हैं तो आप कक्षा का भी उपयोग कर सकते हैं .. लेकिन संभवतः सेटिंग्स फ़ाइल का उपयोग किया जाता है। – Pratik
मैं आमतौर पर इसे वेब रूट के बाहर एक फ़ाइल में डालता हूं, और फिर इसे उस एप्लिकेशन में शामिल करता हूं जिसमें मुझे इसकी आवश्यकता होती है। यह वेब पर गलती से उजागर होने से थोड़ा अधिक सुरक्षित बनाता है, और गुणक अनुप्रयोगों को उसी सेटिंग का उपयोग करने की अनुमति देता है जहां यह बदलकर कि एक फ़ाइल सभी ऐप्स डीबी सेटिंग्स को अद्यतित रखेगी। –