sql >> Databasteknik >  >> RDS >> Mysql

Säkra filer för nedladdning

Lägg filerna utanför webbroten. Använd sedan PHP för att skicka filen genom ett skript. På så sätt kan ingen länka till filen direkt och kringgå dina kontroller. (Se naturligtvis till att skriptet som gör detta först efter att ha verifierat att användaren har behörighet att hämta den filen).

Exempel på 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;
?>


  1. fe_sendauth:inget lösenord tillhandahålls

  2. T-SQL tisdag #64:En trigger eller många?

  3. 2 sätt att returnera en lista över länkade servrar i SQL Server med T-SQL

  4. 5 sätt att kontrollera om en tabell finns i PostgreSQL