Защита изображений от прямого доступа путем проверки текущей сессии PHP с помощью mod_rewrite - PullRequest
1 голос
/ 24 марта 2012

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

Решение, которое я ищу, должно быть (я думаю) должно быть связано с Apache. Я увидел интересное решение, использующее RewriteMap & RewriteRule, однако пример включал его размещение в файле .htaccess в каталоге PDF. Не могу сделать это с Apache (ошибка: RewriteMap здесь не разрешен). Я считаю, что директивы перезаписи должны быть в моем httpd.conf, к которому у меня есть доступ.

Итак, пример, который я нашел (который привел к 'rewritemap здесь не разрешен'), здесь: RewriteEngine On Переписать карту auth prg: auth.php RewriteRule (. *) $ {Auth: $ 1}

auth.php просто проверяет сессию PHP и перенаправляет на скрипт входа в систему, если это необходимо.

Я читаю, что я должен поместить это в мой httpd.conf. Как бы я указал, что RewriteMap должен появляться только в определенном каталоге (включая подкаталоги)?

1 Ответ

0 голосов
/ 24 марта 2012

1-й, убедитесь, что вы должны поместить это прямо в httpd.conf.Например, в системе Debian у вас есть 1 файл от virtualhost (виртуальным хостом обычно является веб-сайт). Итак, вы должны поместить rewriteMap в «директорию», например:

<Directory /full/path/to/your/pdfs>
    RewriteEngine on
    ...
</Directory>
...