sql >> Database teknologi >  >> RDS >> Mysql

Sikre filer til download

Læg filerne uden for webroot. Brug derefter PHP til at sende filen gennem et script. På den måde kan ingen linke til filen direkte og omgå dine kontroller. (Sørg naturligvis for, at scriptet, der kun gør dette, efter at have verificeret, at brugeren har tilladelse til at hente den fil).

Eksempel 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. BESTIL VED Alias ​​virker ikke

  2. Oracle PL/SQL:Tjek, om BLOB eller CLOB er tom

  3. Optimering af en SELECT-forespørgsel, der kører langsomt på Oracle, som kører hurtigt på SQL Server

  4. Dataforbindelsesændringer i 2020.24