私は、サーバーのセキュリティについて心配することなく、PHPスクリプトを介してファイルのアップロードとダウンロードを可能にする簡単で普遍的な方法を実装しようとしています。PHP:アップロードを安全にする簡単で普遍的な方法:乱数をXORする方法は?
これには多くの質問と回答がありますが、私が見たところでは、ファイル拡張子のチェック、MIMEタイプのチェック、保護されたディレクトリへの保存、ファイル名の変更、等)のそれぞれの欠陥および/または脆弱性を有する。
アップロードされたファイルごとにランダムな4バイト番号を作成し、そのファイルの内容をXORして(必要に応じて4バイトを繰り返して)php-upload-scriptを考えました。保存する前に4バイトをファイルに添付します。
ダウンロードするには、ファイルの4バイトをもう一度切り捨てる必要があります。コンテンツがXORされ、結果がクライアントに送信されます。
このようにして、私がサーバーに保存したファイルは実行可能でないか、またはアプリケーションに潜在的な意味があることを確信できます。さらに、ファイル名を格納するためにデータベースを追加する必要はありません。
セキュリティとパフォーマンスに関してこのソリューションについてどう思いますか? 私は、サーバー側のパフォーマンスと必要な処理能力について少し心配していますが、XORは一般的に高速でシンプルです。