今まで、私はpublic_htmlディレクトリの外の.iniファイルに自分のサーバー上で自分のサイトのルートパスを格納されています:ルートパスを見た場合のセキュリティへの影響は何ですか?
によって[settings]
home_url = 'http://www.example.com'
root_path = '/home/this/that/public_html'
と使用:
function parse_ini() {
$root = dirname(__FILE__);
return parse_ini_file($root.'/../../config.ini', true);
} // End parse_ini
function do_something() {
$ini = parse_ini(); // I now have $ini['settings']['root_path']
}
私は感じます.iniファイルそのものが一般公開されておらず、ファイルを解析する唯一の時間は関数内にあるので、ファイル内のデータのスコープは非常に限られています。これはデータベースの資格情報が含まれているので重要です。
私は可能な限り多くのファイルを使用しないようにしたいと考えています。これは主にファイル読み込み時にファイルが複数回読み込まれるというオーバーヘッドが原因です(スコープは常に関数内にあるためです)。
グローバルスコープの定数にルートパスを置くと、どのようなセキュリティ上の影響がありますか?
define('ROOT_PATH', '/home/this/that/public_html');
私は、.iniファイルにデータベースの資格情報のみを置き、他のすべてをそこから移動することを考えています。私がまだ良い場所を見つけられていない唯一のことは、サーバー上のルートパスであり、誰かがそれを見つけたら、これが開く可能性のある穴が少し心配です。
'ini'が一般公開されていませんか?これは、 '.htaccess'ファイルを使用して制限する必要があります。未知の場所に隠すことではありません。それは、あいまいさによるセキュリティ*でしょう。 – bytecode77
"ルートパスを見たときのセキュリティ上の影響は何ですか?" NONE –
@ bytecode77 public_htmlフォルダの外にあります。 – JROB