Минимальный антилич. Проблемы.

EnikeN

Новичок
Минимальный антилич. Проблемы.

Всем привет, долго я искал инфу и нужные мне скрипты, но итог печальный - инфы почти никакой, а скрипты, елси и работают, то через неприличное место, а дургие и вовсе не хотят никак устанавливаться. А проблема-то простая, нужно сделать так, чтобы на файл генерировалась ссылка на определённый срок. Кто что может сказать и посоветовать?
 

EnikeN

Новичок
Я бы не сказал, что там проблема раскрывается.. А то что он сказал, то в мозги не лезет..а из того, что понял не очень понравилось..у меня есть антилич, он вроде юез этих мудрешов работает, но пока не могу понять как..да и натсроек там больше, чем надо..
 

SiMM

Новичок
EnikeN, ты думаешь, я за тебя решу проблему? Это денег стоит. Путь, по которому пошёл бы я - я указал. Остальное мелочи.
 

dr-sm

Новичок
Re: Минимальный антилич. Проблемы.

Автор оригинала: EnikeN А проблема-то простая, нужно сделать так, чтобы на файл генерировалась ссылка на определённый срок. Кто что может сказать и посоветовать?
Проще всего делается средсвами apache, те вебсервера.
 

ksnk

прохожий
Re: Re: Минимальный антилич. Проблемы.

IMHO разумнее воспользоваться функцией RewriteMap вместо странных кук. Правда вставлять ее нужно в httpconf. Зато потом возится нужно будет с одним текстовым файлом вместо многих.
Итак:
у нас имеется каталог /test/files на сайте с корнем p:/site/public_html/ (Ну да... это Denver :))
- в httpconf, в секцию, отвечающую за сайт вставляем строчку
Код:
    Rewritemap  filemap txt:p:/site/public_html/test/files/fm.txt
#    RewriteLock p:/site/public_html/test/files/lock.txt ## какие-то глюки случились  :(
- сочиняем файл test/files/.htaccess
Код:
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /test/files/
   RewriteCond %{REQUEST_URI} ^/test/files/(.*)$
   RewriteCond p:/site/public_html/test/files/${filemap:%1} -f
   RewriteRule (.*) /test/files/${filemap:%1} [L]
   RewriteRule (.*) ../notfound.php?x=$1&y=${filemap:%1} [L]
</IfModule>
- сочиняем файл fm.txt
Код:
0001 xxx.zip  # timestamp1
0002 xxx2.zip # timestamp2
После такой вставки imho, нужно бы перезагрузить сервер...
Итого:
При обращении по адресу /test/files/0001 получаем файл xxx.zip, 0002 - xxx2.zip, а по всем остальным - скрипт notfound.php должен сам сообразить по какой причине нас развернул mod_rewrite.
Кости готовы, осталось нарастить мясо :), а именно
- разместить в файле fm.txt строчку-ссылку на файл, и снабдить ее нужным timestamp
- по cron'у запускать скрипт, который бы вычищал из fm.txt "устаревшие" ссылки.
Это уже - чистой водиы программирование, делайте сами...
Польза предложенного варианта - полученая ссылка действительна на какое-то время и может быть закачана каким угодно даунодером.
 

dr-sm

Новичок
ksnk IMHO сложновато. наиболее простой и эффекитвный способ это в урле передавать хеш, что-то типа:
example.com/path/to/$HASH/file.mpg,
где $HASH = md5(time.filepath.secret).
придется только фильтр написать для веб сервера, который проверяет урл и отправляет 404 если что-то не срослось.
 

ksnk

прохожий
dr-sm
Ну, насчет эффективности, это как сказать... при таком способе собственно загрузка идет без непосредственного участия PHP, что существенно сказывается на загрузке процессора.
Правда с htaccess'ом я чего-то накосячил :(
 

Yaponchick

Новичок
Есть модуль для апача, который хранит юзер-пассворд в URLe, исходя из этого - можно выдавать юзеров на 5 минут =)
 

EnikeN

Новичок
Всё как-то это не то..я вот уже какой день ломаю голову, хочется найти именно то, что считается золотой серидиной и что называется "просто, не значит плохо".. думаю есть такой способ, чтобы не подгружать так апач и не химичить с пхп...будем думать...
 
Сверху