Защитите файлы в каталоге, используя скрипт аутентификации в php / apache - PullRequest
4 голосов
/ 29 июля 2010

Я ищу способ сообщить Apache, что если есть запрос на файл из определенного каталога, он должен сначала запустить скрипт php, чтобы проверить, вошел ли пользователь в систему. Я знаю, что могу поместить каталог за пределы документа и позволить php-скрипту обрабатывать аутентификацию и загрузку файлов, но поскольку это флэш-файлы, которые пытаются открыть другие флэш-файлы, это должен быть каталог в документе, и файлы должны не должны быть отправлены PHP-скриптом. В старой настройке мы использовали mod_auth_script (http://sourceforge.net/projects/mod-auth-script/),, но, поскольку это довольно неясный модуль apache, я бы предпочел более общее решение, если это возможно.

1 Ответ

6 голосов
/ 29 июля 2010

Вы можете использовать .htaccess и mod_rewrite для перенаправления запросов в php-скрипт. Попробуйте поискать в Google, и вы найдете много примеров.

.htaccess пример содержимого:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ([0-9a-z-_]+)\.swf$ checkForAuth.php?&file=$1 [L]

Это вызовет checkForAuth.php, когда кто-то попытается получить доступ к файлу * .swf. В checkForAuth.php вам нужно проверить сеанс, прочитать содержимое из $ _GET ['file'], установить правильные заголовки (тип содержимого для flash) и вывести содержимое запрошенного SWF-файла.

...