Вашият уеб корен, който е $_SERVER['DOCUMENT_ROOT']
в PHP е папката във вашата файлова система, към която вашият уеб сървър (в този случай Apache) сочи за конкретен хост.
Например, ако поставите този код във вашия файл 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';
?>