1

(アドオン)ドメインディレクトリの外のディレクトリからファイルを読み込もうとしています。これが私のディレクトリ構造です:

public_html /
    domain /
        file_read.php
        file_write.php

    sensitive /
        file.dat

「../sensitive/file.dat」を使用してセンシティブに書き込むことはできますが、同じ方法を使用して読み取ることはできません。なぜアイデアはありますか?

絶対パスはhtmlソースに表示されるため、使用していません。public_htmlが属するドメインは使用されていません。

[編集]要求に応じていくつかのコードを共有する:

file_write.php(センシティブには画像もあります):

mkdir ("../sensitive/dir", 0755);
copy ("resource/in/root/file.jpg", "../sensitive/dir/file.jpg");
move_uploaded_file ($_FILES['file']['tmp_name'], "../sensitive/dir/newfile.jpg");

file_read.php(何も表示されません)

<img src="../sensitive/dir/newfile.jpg" width="400" height="400">

私は機密性の高いファイルを観察しており、すべてが正常に書き込まれています。また、newfile.jpgのアクセス許可を644から744、755に手動で調整しましたが、使用できません。

4

1 に答える 1

1

あなたが言及したようsensitiveに、ドメインディレクトリの外にあります。したがって、これは機能しません。

<img src="../sensitive/dir/newfile.jpg" width="400" height="400">

どっちがいい!そうでなければ誰もがすることができますwww.example.com/../sensitive/all/your/files.dat

機密ディレクトリにアクセスできます。

このディレクトリ内のファイルにアクセスしたい場合は、画像を返す情報を提供するphpページを作成できます(ただし、これが保護されていることを確認してください。そうしないと、機密ディレクトリにアクセスできるようになります)。

この質問は、画像の出力に関する情報を提供します:PHPで画像を出力する

于 2013-01-06T22:01:20.817 に答える