2011-10-18 14 views
25

मैं जानना चाहता हूं कि सर्वोत्तम अभ्यास क्या है या जब MySQL प्रमाण-पत्र/होस्ट के लिए चर बनाया जाता है तो क्या करने की अनुशंसा की जाती है।MySQL प्रमाण-पत्र/मेजबान चर सर्वोत्तम प्रथाओं

define('HOST', 'localhost'); 
    // etc.. 
    mysql_connect(HOST, // etc... 

बनाम

$host = 'localhost'; 
    // etc.. 
    mysql_connect($host, // etc... 

दोनों के लिए आप आसानी से क्या घोषित चर या स्थिरांक हैं जाँच और शायद पा सकते हैं आसानी से मान रहे हैं क्या कर सकते हैं। मेरे पास कोड है जो एकाधिक उपयोगकर्ता साझा और उपयोग कर सकते हैं।

इन चरों की रक्षा करने का सबसे अच्छा तरीका क्या है?

उत्तर

31

यहाँ कुछ समाधान

1) आप प्रत्येक उपयोगकर्ता के लिए एक उपयोगकर्ता और पासवर्ड देने के लिए और प्रत्येक उपयोगकर्ता डेटाबेस में उनकी अनुमतियों (केवल चयन , या ect डालें ..)। तो आपके कोड में आप बस एक db.config.php शामिल करते हैं ताकि सभी चर सेट हो जाएं। यह वास्तव में कोई फर्क नहीं पड़ता कि उपयोगकर्ता चर का गूंजता है क्योंकि वे स्वयं का उपयोग करते हैं। ।

2) यदि आप एक आम प्रयोक्ता नाम को/डेटाबेस के लिए पारित और उसके बाद (या तो फ़ाइल सांकेतिक शब्दों में बदलना custom encoding, जेंड ऑप्टीमाइज़र या ionCube और सेट नहीं वैरिएबल का उपयोग कर सकते हैं यहाँ एक नमूना कोड:

// file mysql_connect.php 

$link = mysql_connect("localhost", "mysql_user", "mysql_password") 
    or die("cannot connect to database : " . mysql_error()); 

// then this file is encoded so nobody can view it. 

3) किसी बिंदु पर, किसी को, इस तरह से यह जानकारी मिल जाएगी। मैं बस अपने उपयोगकर्ता पर भरोसा करने की सिफारिश करता हूं (मानते हैं कि ये डेवलपर्स हैं)

+0

दूसरा मुझे जो करना है, उसके लिए महंगा लगता है, तीसरा, अभी तक नहीं;) लेकिन मुझे सबसे पहले, बहुत आसान और साफ पसंद है। –

+0

कोई समस्या नहीं है आपका स्वागत है –

1

आपके कोड में किसी बिंदु पर आपको इस तरह की जानकारी को हार्डकोड करना होगा, महत्वपूर्ण बात इसे बनाए रखने के लिए केवल एक ही स्थान पर रखना है। लेकिन, जैसा कि आप सुरक्षा को लेकर चिंतित हैं मैं आप इस जाँच करने के लिए सुझाव देते हैं: Convert PHP file to binary

संबंधित मुद्दे