Mysql
 sql >> база данни >  >> RDS >> Mysql

Защитени файлове за изтегляне

Поставете файловете извън webroot. След това с помощта на 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;
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на mysql concat() в клауза WHERE?

  2. Избирате ли всички колони, които започват с XXX, като използвате заместващ знак?

  3. Настройка на MySQL InnoDB клъстер с MySQL Shell (плюс MySQL рутер)

  4. PHP фатална грешка:Клас 'PDO' не е намерен

  5. Изберете Заявка за извличане на редове в MySQL