ホームページ >バックエンド開発 >PHPチュートリアル >PHP アップロード ファイルの隠しパス ファイル アップロードのセキュリティを設定している場合は、ぜひご覧ください。

PHP アップロード ファイルの隠しパス ファイル アップロードのセキュリティを設定している場合は、ぜひご覧ください。

WBOY
WBOYオリジナル
2016-06-13 13:20:59810ブラウズ

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 このディレクトリには直接アクセスできません。

初心者はファイルのダウンロードについてはこれだけしかやったことがありません。専門家の方、何か良い提案があれば、ぜひ参考にしてください。ファイルのダウンロードのセキュリティについて何かをしたことがある人は、ぜひ参考にしてください。教えてください。ああ~

-----解決策---------------------- --------
アカウントとパスワードが検証されると、ファイルが直接出力されます...



PHP コード

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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。