は今、私のアプリが構築されていることを私はそれを保護する方法を研究しています。私はアプリの中からそれを指すことができますどのようにパブリックフォルダの外のフォルダにdatabase.phpでファイルを配置した場合は?インクルード構造を使用するだけでは不十分です。これは、パブリックフォルダの一番上にあるためです。どのように非パブリックフォルダに存在database.phpでのポイントのアプリケーション?
include '../database.php';
は今、私のアプリが構築されていることを私はそれを保護する方法を研究しています。私はアプリの中からそれを指すことができますどのようにパブリックフォルダの外のフォルダにdatabase.phpでファイルを配置した場合は?インクルード構造を使用するだけでは不十分です。これは、パブリックフォルダの一番上にあるためです。どのように非パブリックフォルダに存在database.phpでのポイントのアプリケーション?
include '../database.php';
複数回include '../../../../database.php';
それぞれを...また、あなたが「./」を使用することができ、現在のパスを指定するinclude '/home/secret_folder/place_of_database/database.php';
dirname()
を使用できます。さんがあなたのフォルダ構造があるとしましょう:あなたのpublic_html
ファイルで
public_html/
index.php
contact.php
whatever.php
private/
database.php
、あなたが呼び出すことができます。
$db_file = dirname($_SERVER[ 'DOCUMENT_ROOT' ]) . '/private/database.php';
include_once($db);
public_html
があなたの$_SERVER[ 'DOCUMENT_ROOT' ]
であれば、dirname
はあなたpublic_html
とprivate
を含むフォルダを与えるだろう。その後、パスをdatabase.php
に渡すだけです。
$db_file = dirname(dirname($_SERVER[ 'DOCUMENT_ROOT' ])) . '/private/database.php';
これはあなたに別のフォルダを上になるだろう:それは別のレベルをアップします(またはそれ以上)の場合は
、あなたはdirname
を複数回使用することができます。
ありがとう含めたいファイルものを手に入れることの多くの「../」を使用して、あなたがしているファイル。パブリックフォルダの外にあるファイルはどのくらい安全ですか?私は、アプリ内でファイルにアクセスすることしかできAMまたは一部の不正な人は何とかアクセスを得るために自分の道をたどることができますか? – Bricked
ドキュメントルートの外に出る唯一の方法は、サーバーに直接アクセスできるか、コードに何かばかげたセキュリティ上の脆弱性がある場合です(ファイルの内容を取得して画面に表示するなど)あなたはそれについてうまく知っているだろう)。さもなければ、あなたの資格はこのように安全です。 –
これはconfigとhtaccessファイルを置く場所です。 – Bricked
のように代わりに相対パス の完全なパスを定義することができる1つの親フォルダ を表し が、その後、フォルダ間を移動し、あなたが
を働いた../../ SirNashが、これは実際に../../lib/database.phpを働いた、シューターをありがとうありがとう – Bricked
は – Bricked