Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sichere Dateien zum Download

Legen Sie die Dateien außerhalb des Webroot ab. Dann mit PHP die Datei durch ein Skript übergeben. Auf diese Weise kann niemand direkt auf die Datei verlinken und Ihre Kontrollen umgehen. (Natürlich stellen Sie sicher, dass das Skript, das dies tut, erst nach Überprüfung des Benutzers die Berechtigung hat, diese Datei abzurufen).

Beispiel-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;
?>