保護を強化してダウンロードするファイルを保護する方法
機密文書を含む安全なフォルダー「docs」を作成することを目指しています。ログインしたユーザーがダウンロードできるようになります。 .htaccess 保護や PHP による隠しダウンロードなどのさまざまなセキュリティ対策を実装しましたが、セキュリティを強化するために実行できる追加の手順があります:
Webroot の外にファイルを移動する:
ファイルへの直接リンクを防ぐには、ファイルを Web サイトのウェブルートの外に移動してください。これにより、ユーザーはコントロールをバイパスしてファイルに直接アクセスできなくなります。
PHP でユーザー権限を確認する:
ユーザーがファイルのダウンロードを要求した場合、PHP を使用してアクセスするための適切な権限があることを確認してください。これにより、不正なダウンロードが防止されます。
サンプル PHP コード:
<?php if (!isset($_SESSION['authenticated'])) { exit; } $file = '/path/to/file/outside/www/secret.pdf'; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; ?>
追加のセキュリティ考慮事項:
これらの対策を組み合わせて実装することで、既存のセキュリティ プロトコルを使用すると、機密ファイルの保護を大幅に強化し、承認されたユーザーのみがアクセスできるようにすることができます。
以上がログインしたユーザーにファイルのダウンロードを安全に許可するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。