0

誰かがこれに光を当ててくれることを願っています。

現在、私の php スクリプトは、require_once(../../passowrds.php); などの相対パスを使用して、ドキュメント ルートより上のファイルを開くことができます。

1)ドキュメントルートの上に絶対パスを開いたままにする方法はありますか?

2) ドキュメント ルートより上のファイルにアクセスする最も安全な方法は何ですか?

前もって感謝します

4

2 に答える 2

-1

書き込み時にファイルを要求するための最も安全な方法$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($パス);

于 2013-01-14T00:23:33.280 に答える
-1

ドキュメントルートの上で開かれた絶対パスを強制する方法はありますか?

私はこれを「相対パスでドキュメントルート上のアクセスを防ぐことは可能ですか?」という意味だと解釈しています。答えは次のとおりです。私が知っているわけではありませんが、パス文字列を手動で検証することはできません (過剰な「..」などを探します)。

ドキュメント ルートより上のファイルにアクセスする最も安全な方法は何ですか?

「最も安全」の定義によって異なります。これが問題を引き起こす可能性のあるシナリオは何ですか?

ただし、これを制御するユーザー入力を検証することから始めるのが良いでしょうrequire_once($_GET["file"])

于 2013-01-14T00:01:36.457 に答える