ホームページ >バックエンド開発 >PHPチュートリアル >PHP アップロード ファイルの隠しパス ファイル アップロードのセキュリティを設定している場合は、ぜひご覧ください。
PHP ダウンロード ファイルの隠しパス ファイル ダウンロード セキュリティを行っている場合は、ぜひ見てください。
私は最近、ファイル リソースの管理に取り組んでいます。ダウンロード時にファイル パスを非表示にする解決策は、Apache を使用して、ディレクトリ リストに直接アクセスできないようにファイルが保存されるディレクトリを設定することです。サーバーのディレクトリを隠すことができます!
たとえば、ダウンロード パスは元々次のとおりです: http://miresearch.cn/uploadfile/resource/2012-05/8F4F5A42-1B4C-8B80-0EFC-9FF2346373BF.rar
うまくいかない場合は、 http:// miresearch.cn/uploadfile/resource/2012-05 に直接アクセスすると、サーバーのこのディレクトリにあるすべてのファイルを表示できます。後で、Apache を設定した後、http://miresearch.cn/2012-05/8F4F5A42-1B4C- 8B80-0EFC-9FF2346373BF。rar はファイルをダウンロードしてサーバー ディレクトリを隠すことができますが、http://miresearch.cn/2012-05 このディレクトリには直接アクセスできません。
初心者はファイルのダウンロードについてはこれだけしかやったことがありません。専門家の方、何か良い提案があれば、ぜひ参考にしてください。ファイルのダウンロードのセキュリティについて何かをしたことがある人は、ぜひ参考にしてください。教えてください。ああ~
-----解決策---------------------- --------
アカウントとパスワードが検証されると、ファイルが直接出力されます...
例
header('Content-Type: application/octet-stream'); $filesize = filesize('s.png'); //ファイルサイズを取得します。 header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT'); header('キャッシュ制御: ストアなし、キャッシュなし、再検証する必要があります'); header('キャッシュ制御: 事前チェック=0、事後チェック=0、最大期間=0'); header('コンテンツ転送エンコーディング: バイナリ'); header('Content-Encoding: none'); header('Content-type: application/force-download'); header('Content-length: '.$filesize); header('Content-Disposition:attachment; filename="s.png"'); readfile('s.png'); <div class="clear"></div>