आपका वेब रूट, जो है $_SERVER['DOCUMENT_ROOT']
PHP में, आपके फाइल सिस्टम पर वह फ़ोल्डर है जिसे आपका वेबसर्वर (इस मामले में, अपाचे) किसी विशेष होस्ट के लिए इंगित करता है।
उदाहरण के लिए, यदि आप इस कोड को अपनी index.php फ़ाइल में डालते हैं और अपने डोमेन नाम (या उप डोमेन नाम) पर जाते हैं, तो यह आपको आपका वेब रूट बताएगा।
<?php
header("Content-Type: text/plain;charset=UTF-8");
die($_SERVER['DOCUMENT_ROOT']);
?>
इसे कुछ इस तरह कहना चाहिए, /home/some_user/public_html
या /var/www
. इस मामले में, आप एक पथ बनाना चाहते हैं जो इस निर्देशिका के अंदर नहीं है।
उदाहरण के लिए:/home/some_user/config
या /var/webconfig
।
आप नहीं करते हैं इसे /home/some_user/public_html/config
में स्टोर करना चाहते हैं (public_html पर ध्यान दें) या /var/www/webconfig
(ध्यान दें कि यह /var/www
. का सबफ़ोल्डर है )
आपके वेब रूट के बाहर डेटा संग्रहीत करने का विचार यह है कि एक हमलावर http://yoursite.com/config/mysql.txt
पर नेविगेट नहीं कर सकता है। और अपने पासवर्ड प्राप्त करें। LFI और निर्देशिका ट्रैवर्सल हमले इस पहल के दायरे में नहीं हैं।
आपको संस्करण नियंत्रण में किसी भी संवेदनशील जानकारी (डेटाबेस क्रेडेंशियल, एन्क्रिप्शन कुंजी, आदि) की जांच नहीं करनी चाहिए। कभी।
PHP से उन्हें कैसे एक्सेस करें?
यह निर्भर करता है कि आपका कॉन्फ़िगरेशन कैसे एन्कोड किया गया है।
<?php
$config = parse_ini_file('/home/some_user/config/mysql.ini');
// OR
$config = json_decode('/home/some_user/config/mysql.json');
// OR
require_once '/home/some_user/config/mysql_config.php';
?>