Как динамически защитить файлы (изображения, видео, zip) от общего доступа и разрешить доступ только членам? - PullRequest
4 голосов
/ 10 марта 2010

Это обычная проблема, решаемая много раз, но по какой-то причине я не могу найти нужную информацию.

Некоторые ограничения и требования:

  • Техника для стека LAMP.
  • Детальный контроль доступа к файлам.
  • Нет базовой аутентификации с файлами htpasswd, я хочу предоставить пользовательский интерфейс входа в систему.
  • Должен иметь возможность надежно защищать и обслуживать большие видеофайлы

Как все эти сайты защищают свои файлы от публичного доступа без использования обычной аутентификации?

Спасибо!

Аналогичный вопрос: Ориентированный на производительность способ защиты файлов на уровне PHP?

1 Ответ

6 голосов
/ 10 марта 2010

Обычно вы перенаправляете любые запросы медиафайлов в скрипт PHP. PHP-скрипт выполняет аутентификацию при входе в систему и в случае успеха загружает запрошенный мультимедийный файл из защищенного местоположения и передает его в браузер, например, используя fpassthru() или fread().

Вы можете создать очень элегантное решение, используя набор mod_rewrite инструкций, например, переписав

www.example.com/media/music.mp3

внутренне до

www.example.com/media/index.php?file=music.mp3

метод не из дешевых, так как интерпретатор PHP должен запускаться для каждой загрузки и проходить через каждый байт файла. Для обсуждения возможных альтернатив я задал вопрос об этом несколько месяцев назад: Ориентированный на производительность способ защиты файлов на уровне PHP ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...