$_SERVER['DOCUMENT_ROOT']
であるWebルート PHPでは、Webサーバー(この場合はApache)が特定のホストを指すファイルシステム上のフォルダーです。
たとえば、このコードをindex.phpファイルに入れて、ドメイン名(またはサブドメイン名)にアクセスすると、Webルートがわかります。
<?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
のサブフォルダーであることに注意してください )
Webルートの外部にデータを保存するという考え方は、攻撃者が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';
?>