1

現在、ユーザーがアップロードした画像ファイルを次のように保存しています。

public_html/img/user/$category/$username/$imagename

しかし、これは悪い習慣ですか?ドキュメントルートに保存するのが悪いのはなぜですか?ファイルを保存するのに適した場所はどこですか?

私は次のように拡張機能をフィルタリングします:

    // Check to see if the type of file uploaded is a valid image type
function is_valid_type($file)
{
    // This is an array that holds all the valid image MIME types
    $valid_types = array("image/jpg", "image/JPG", "image/jpeg", "image/bmp", "image/gif", "image/png");

    if (in_array($file['type'], $valid_types))
        return 1;
    return 0;
}
4

2 に答える 2

2

一部の人が悪い習慣であると信じていることに反して、場所自体は問題ではありません。ただし、いくつかの点に注意する必要があります。

参照:PHPでの安全なユーザー画像アップロード機能

ところで、PHPエンジンが画像の提供に使用されていないかどうかをテストするには、画像を提供していることを確認しexpose_phpますOn(ページからphpinfo()わかります。次に、ブラウザで画像をダウンロードし、応答ヘッダーを調べて、X-Powered-Byヘッダーが表示されているかどうかを確認します。そこにいない、あなたは安全でなければなりません。

于 2012-10-06T15:45:21.663 に答える
1

公開されている画像をドキュメントルートに保持することをお勧めしますただし、表示したい画像のみを保存してください。他のものではありません。そして、いくつかの落とし穴があるので、これらが画像ファイルであることを確認してください。

ユーザーが画像を保存するウェブサイトを持っています。ただし、ファイル名、カテゴリ、ユーザー名、画像名はデータベースに保存し、画像ファイルは1つのディレクトリに保存します。

于 2012-10-06T15:43:34.563 に答える