buBBle
Новичок
php+mod_rewrite
Добрый день!
Необходимо реализовать контроль доступа к скачиванию файлов.
в доках по mod_rewrite http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritemap
обнаружил возможность обращения к скриптам при проверке url.
Идея в следующем: при обращении к файлу mod_rewrite выполнял бы скрипт,
который смотрел бы в базу и определял, можно ли скачивать.
По результатам работы скрипта mod_rewrite либо переадресовывал на нужный файл,
либо посылал нафиг.
Подскажите, как правильно настроить .htaccess для реализации такой возможности?
Этот вариант не работает:
.htaccess:
RewriteEngine On
RewriteMap qmap prg:/test.php
RewriteRule ^file.zip /${qmap:$1} [L,R]
-~{}~ 28.08.06 19:58:
Наверно не очень доходчиво объяснил задумку.
Начнем сначала.
Большинство сайтов, в которых реализован контроль доступа к скачиванию файлов используют следующий механизм: ссылка на требуемый файл отсутствует в явном виде, а вместо неё есть ссылка на пхп-скрипт, который проверяет пользователя, и если он имеет право на скчивание, читает содержимое файла и выдает его в выходной буфер.
При этом используются функции fopen(), echo(), fpassthru и т.д.
Данный подход сильно загружает веб-сервер ввиду того, что php приходится полностью "проглатывать" файл, а затем его выдавать
mod_rewrite позволяет "налету" править url пользовтеля, так что
он даже не будет знать, откуда физически скачивается файл.
В этом модуле задокументирована опция rewritemap, позволяющая обращаться к php - скриптам на этапе верификации url. поэтому возникла идея написать php-скрипт,
который бы проверял пользователя и сообщал модулю физический адрес файла.
в настройке .htaccess я не силен, поэтому прошу помочь правильно все прописать
Добрый день!
Необходимо реализовать контроль доступа к скачиванию файлов.
в доках по mod_rewrite http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritemap
обнаружил возможность обращения к скриптам при проверке url.
Идея в следующем: при обращении к файлу mod_rewrite выполнял бы скрипт,
который смотрел бы в базу и определял, можно ли скачивать.
По результатам работы скрипта mod_rewrite либо переадресовывал на нужный файл,
либо посылал нафиг.
Подскажите, как правильно настроить .htaccess для реализации такой возможности?
Этот вариант не работает:
.htaccess:
RewriteEngine On
RewriteMap qmap prg:/test.php
RewriteRule ^file.zip /${qmap:$1} [L,R]
-~{}~ 28.08.06 19:58:
Наверно не очень доходчиво объяснил задумку.
Начнем сначала.
Большинство сайтов, в которых реализован контроль доступа к скачиванию файлов используют следующий механизм: ссылка на требуемый файл отсутствует в явном виде, а вместо неё есть ссылка на пхп-скрипт, который проверяет пользователя, и если он имеет право на скчивание, читает содержимое файла и выдает его в выходной буфер.
При этом используются функции fopen(), echo(), fpassthru и т.д.
Данный подход сильно загружает веб-сервер ввиду того, что php приходится полностью "проглатывать" файл, а затем его выдавать
mod_rewrite позволяет "налету" править url пользовтеля, так что
он даже не будет знать, откуда физически скачивается файл.
В этом модуле задокументирована опция rewritemap, позволяющая обращаться к php - скриптам на этапе верификации url. поэтому возникла идея написать php-скрипт,
который бы проверял пользователя и сообщал модулю физический адрес файла.
в настройке .htaccess я не силен, поэтому прошу помочь правильно все прописать