Din webrod, som er $_SERVER['DOCUMENT_ROOT']
i PHP, er mappen på dit filsystem, som din webserver (i dette tilfælde Apache) peger på for en bestemt vært.
Hvis du f.eks. indsætter denne kode i din index.php-fil og besøger dit domænenavn (eller underdomænenavn), vil den fortælle dig din webrod.
<?php
header("Content-Type: text/plain;charset=UTF-8");
die($_SERVER['DOCUMENT_ROOT']);
?>
Det burde sige noget som, /home/some_user/public_html
eller /var/www
. I dette tilfælde vil du oprette en sti, der ikke er inde i denne mappe.
For eksempel:/home/some_user/config
eller /var/webconfig
.
Det gør du IKKE ønsker at gemme det i /home/some_user/public_html/config
(læg mærke til public_html) eller /var/www/webconfig
(bemærk, at dette er en undermappe til /var/www
)
Ideen med at gemme data uden for din webrod er, at en angriber ikke kan navigere til http://yoursite.com/config/mysql.txt
og få dine adgangskoder. LFI- og biblioteksangreb er ikke omfattet af dette initiativ.
Du bør heller ikke kontrollere nogen følsomme oplysninger (databaselegitimationsoplysninger, krypteringsnøgler osv.) i versionskontrol. nogensinde.
Hvordan får man adgang til dem fra PHP?
Det afhænger af, hvordan din konfiguration er kodet.
<?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';
?>