誰かがこれに光を当ててくれることを願っています。
現在、私の php スクリプトは、require_once(../../passowrds.php); などの相対パスを使用して、ドキュメント ルートより上のファイルを開くことができます。
1)ドキュメントルートの上に絶対パスを開いたままにする方法はありますか?
2) ドキュメント ルートより上のファイルにアクセスする最も安全な方法は何ですか?
前もって感謝します
誰かがこれに光を当ててくれることを願っています。
現在、私の php スクリプトは、require_once(../../passowrds.php); などの相対パスを使用して、ドキュメント ルートより上のファイルを開くことができます。
1)ドキュメントルートの上に絶対パスを開いたままにする方法はありますか?
2) ドキュメント ルートより上のファイルにアクセスする最も安全な方法は何ですか?
前もって感謝します
書き込み時にファイルを要求するための最も安全な方法$a = 'samplevalue'; そして、書き込み中の which passowrds.php の一番上;
if($a != 'サンプル値'){ header('場所: http://www.example.com/ '); passowrds.php
:
if($r_key != 'a23b24c25samplekey' or empty($r_key)){ header('Location: http://www.example.com/'); exit(); } // r_key not equal a23b24c25samplekey or empty forward main page
bla.. bla.. bla..
サンプル.php:
$r_key = 'a23b24c25samplekey';
require_once(../../passowrds.php);
これは相対パスに使用できます。
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/yourfolder/passowrwds.php";
require_once($path);
require_once(../../passwords.php); $path = $_SERVER['DOCUMENT_ROOT']; よりも安全です。$path .= "/yourfolder/passowwrwds.php"; require_once($パス);
ドキュメントルートの上で開かれた絶対パスを強制する方法はありますか?
私はこれを「相対パスでドキュメントルート上のアクセスを防ぐことは可能ですか?」という意味だと解釈しています。答えは次のとおりです。私が知っているわけではありませんが、パス文字列を手動で検証することはできません (過剰な「..」などを探します)。
ドキュメント ルートより上のファイルにアクセスする最も安全な方法は何ですか?
「最も安全」の定義によって異なります。これが問題を引き起こす可能性のあるシナリオは何ですか?
ただし、これを制御するユーザー入力を検証することから始めるのが良いでしょうrequire_once($_GET["file"])
。