Генерация уникальной ссылки на скачивание

Главные вкладки

Аватар пользователя breech breech 28 июля 2009 в 13:18

Господа (и дамы)!

Существует ли готовое решение для генерации уникальных ссылок на скачивание одного и того же файла.
Попытка реализовать подобный процесс вручную через синонимы ник чему не привела. Друпал ругается на путь к файлу говорит что "Ссылка 'files/download/file.exe' введена неправильно или у Вас нет доступа к этому ресурсу."

То есть, задача такая - файл, физически находящийся в files/download/file.exe должен быть доступен по ссылкам вида
files/download/123/file.exe
files/download/456/file.exe
files/download/789/file.exe,
причём желательно чтобы такая ссылка генерировалась автоматически при генерации страницы на которой она указана.

Спасибо за внимание.

Комментарии

Аватар пользователя ManManovich ManManovich 9 октября 2009 в 12:40

У меня такой же вопрос, ну или похожий. Так как не совсем очевидно, что имел ввиду автор, попробую выразить другими словами и на примере. Пример таков: У меня есть сайт, на котором я публикую материалы, к примеру подкаст. Выкладываю я там аудиолекции. Находятся люди, которые находят мои материалы интересными и не заморачиваясь копируют мой линк на скачивание и выкладывают у себя. Во-первых, возрвстает нагрузка на мой хостинг и хостеры постостоянно присылают мне письма о том, что имеет место перерасход трафика и нагрузка на сервер превышена. Во-вторых, мне черезвычайно обидно, что я потратил время на создание, обработку, упаковку материала, а вся слава и тиц достаётся каком-то копипастеру.
И теперь к делу:
Есть у меня файл на хостинге, но я не хочу давать прямую ссылку на сайте, я хочу дать такую ссылку, чтобы при нажатии на неё генерировался уникальный симлинк (надеюсь я правильно и к месту употребляю это слово), с ограниченым временем действия, скажем часов 5. Затем, чтобы скачать этот файл надо снова прийти на страницу и снова нажать на ссылку.
Подскажите пожалуйста как такое можно сделать?

Заранее благодарен за ответ.

Аватар пользователя Химический Али Химический Али 9 октября 2009 в 13:22

Если файло прикрепляется к ноде, переопределить ее вывод (нехорошо) или сделать preprocess_node, где и генерировать ключи (записывать в БД) для доступа, с помощью которых какой-то скрипт будет отдавать файлы или же генерировать в какую-то диреткорию копии файлов с уникальными именами (те, которые не запрашивались в течение какого то времени, скажем, часа - удалять).
http://api.drupal.ru/api/function/template_preprocess_node

Аватар пользователя ManManovich ManManovich 19 октября 2009 в 9:23

А может быть есть альтернативное решение? Например как у файлообменных серверов. Типа rapidshare. При обращении к файлу показывается страничка: "вы запросили файл.. Введите код CAPCHA". очень уж лень программировать, (мало того ещё и не умею :)). Вопрос также из цикла "а есть ли типовое решение?".