.htaccess И временные ссылки

Статус
В этой теме нельзя размещать новые ответы.

qwertya

Писатель
Заблокирован
Регистрация
2 Июл 2009
Сообщения
11
Реакции
0
  • Автор темы
  • Заблокирован
  • #1
Допустим у меня есть файл cool.mp3

Задача состоит в том что бы отдавать юзеру файл по временной ссылке.

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

Есть возможность создавать временные ссылки с помощью .htaccess?

И можно ли с помощью него же ограничивать скорость отдачи файла?
 
И можно ли с помощью него же ограничивать скорость отдачи файла?
Можно, но для такого расклада нужно учесть несколько моментов:
- этот htaccess будет постоянно перезаписываться скриптом (когда выделется ссылка - внести директиву, когда время жизни ссылки вышло - убить директиву)
- учесть инструмент фиксирования времени жизни ссылки + по крону собственно говоря проверять раз в 3-5-10 минут (зависит от критичности возможности ссылки жить чуть дольше положенного)
Как вариант, могу предложить такой механизм:
- пользователь выбрал там что-то, чтобы получить временную ссылку
- скрипт читает файл htaccess (просто в переменную)
- генерирует случайную строку (можно и просто и банально через md5(time()) и проверяет, чтобы для такой строки не было уже записи в файле, если есть, можно просто еще раз к строке md5 применить и снова проверить и так пока не получится уникальная строка, снять текущее время time(), добавить к нему время существования ссылки - получим время до которого ссылка живет
- добавить в htaccess строчку вида RewriteRule ^tmplinks/временная-уникальная-строка/?$ реальный-явный-путь-к-файлу [L] #время-до-которого-ссылка-работает
- выдать юзеру адрес ссылки вида: http://www.domain.ru/tmplinks/временная-уникальная-строка/
Далее, создать скриптик, который по крону будет запускаться с нужной частотой и просто проверять, есть ли в htaccess директивы перенаправления, которые как бы должны "умереть"? перезаписывать htaccess без этой строки (это время после # в строках директив перенаправления).
Лучше блок директив временных ссылок вообще выделить сверху и снизу "псевдотегами", чтобы этот блок можно было вставить туда, где нужно в файле, и потом не мучиться разбиранием и выделением нужных частей, что-то типа:
Код:
Основные директивы сайта
#tmplinks
......
Директивы временных ссылок
......
#/tmplinks
Основные директивы сайта
 
  • Автор темы
  • Заблокирован
  • #3
Я нечто подобное и думал...

Спасибо!

Как насчет ограничения скорости отдачи файла?
 
Нзчт =) Кстать, для спасибы кнопка есть еще ;) - не пиво, конечно, а душе приятно.

А по поводу ограничения скорости через htaccess... если только убедить админа хостинга поставить mod_bandwidth + разрешить его директивы указывать в клиентском htaccess

Вот тут можно глянуть (ссылка старая, но суть вопроса отражает).


и еще тут немного.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху