sql >> Base de Datos >  >> RDS >> Mysql

Archivos seguros para descargar

Coloque los archivos fuera de webroot. Luego, usando PHP, pase el archivo a través de un script. De esa manera, nadie puede vincular el archivo directamente y eludir sus controles. (Naturalmente, asegúrese de que el script que hace esto solo después de verificar que el usuario tenga permiso para recuperar ese archivo).

PHP de ejemplo:

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