この質問に対する回答はかなり明白かもしれませんが、ファイルセキュリティの1つの方法が他の方法よりも優先される理由について説明したいと思います。機密情報をWebアクセス可能なディレクトリに保存していますか?
次の環境を考慮してください。
ユーザーがファイルをアップロードします。ファイルの名前はnewfile_randomstring.pngに変更されます。ファイルは、cURLを介してリモートサーバーに送信されます。リモートサーバがファイルを受信すると、新しいディレクトリが作成されたファイルは、このようなとして格納されています
のpublic_html /アップロード/ user_idの/ FILE_ID/newfile_randomstring/newfile_randomstring.png「
のは、これらが重要な文書であるとしましょう納税申告書や法律文書などの
私の質問は次のとおりです。Webアクセスできないディレクトリにファイルをアップロードすると、提案された環境よりもセキュリティが強化されますか?第二に、PHPのuniqid関数を使用してランダムな文字列からディレクトリ/ファイル名を作成する提案された方法は、最初の不要なアクセスから適切な保護を提供していますか? (たとえば、誰かがリモートサーバーのIPアドレスを把握し、ディレクトリ名や構造を推測しようとしています)。
ファイルをアップロードした直後に自動的に削除された場合はどうなりますか?ボット/ウェブスクレイパーがファイルにアクセスすることはまだ可能でしょうか?
いくつかの光読書:https://en.wikipedia.org/wiki/Security_through_obscurity "Webアクセス可能なディレクトリにある機密情報を保存します?"よく狂ったバットキツです。 – nogad
ファイルをWebルートの外に置くだけで、私はあなたがそれをやる気持ちを想像することはできません。 – nogad
PHPの[uniqid](http://php.net/manual/en/function.uniqid.php)は、安全にランダムなものではありません。それは呼び出されたたびに返された文字列とは異なる文字列を出力することを意図していますが、それは推測が難しい文字列を出力することではなく、 **増加している整数よりもはるかに良い/異なっていない***。 – Paulpro