Akar web Anda, yaitu $_SERVER['DOCUMENT_ROOT']
di PHP, adalah folder di sistem file Anda yang ditunjuk oleh server web Anda (dalam hal ini, Apache) untuk host tertentu.
Misalnya, jika Anda memasukkan kode ini ke dalam file index.php dan mengunjungi nama domain Anda (atau nama subdomain), kode tersebut akan memberi tahu Anda root web Anda.
<?php
header("Content-Type: text/plain;charset=UTF-8");
die($_SERVER['DOCUMENT_ROOT']);
?>
Itu harus mengatakan sesuatu seperti, /home/some_user/public_html
atau /var/www
. Dalam hal ini, Anda ingin membuat jalur yang tidak ada di dalam direktori ini.
Misalnya:/home/some_user/config
atau /var/webconfig
.
Anda TIDAK ingin menyimpannya di /home/some_user/public_html/config
(perhatikan public_html) atau /var/www/webconfig
(perhatikan ini adalah subfolder dari /var/www
)
Ide menyimpan data di luar root web Anda adalah bahwa penyerang tidak dapat menavigasi ke http://yoursite.com/config/mysql.txt
dan dapatkan kata sandi Anda. LFI dan serangan traversal direktori tidak termasuk dalam cakupan inisiatif ini.
Anda juga tidak boleh memeriksa informasi sensitif apa pun (kredensial basis data, kunci enkripsi, dll.) ke dalam kontrol versi. Pernah.
Bagaimana cara mengaksesnya dari PHP?
Itu tergantung bagaimana konfigurasi Anda dikodekan.
<?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';
?>