Организация продажи файлов?

Задача: организовать продажу файлов через Интернет-магазин, путём оплаты банковскими картами и электронными деньгами. После оплаты пользователь получает уникальную ссылку для скачивания файла.

Вопрос: Подскажите пожалуйста как после оплаты организовать уникальный url, по которому пользователь сможет скачать файл лишь один раз?


Возможно не стоит изобретать велосипед, поэтому буду рад, если вы поделитесь ссылками на уже готовые решения подобных интернет-магазинов.
  • Вопрос задан
  • 11904 просмотра
Пригласить эксперта
Ответы на вопрос 7
Контролируемое скачивание можно сделать с помощью nginx + заголовок X-Accel-Redirect. Но «скачать только один раз» это полная фигня… У пользователя может соединение оборваться, он может случайно удалить файл. Даже Apple при всех своих заморочках с AppStore позволяют заново скачать купленные программы.
Ответ написан
savostin
@savostin
Еще один программист
Как правильно заметил viperet, нельзя делать одноразовую ссылку, а нужно защищать файл.
Если Вы боитесь, что ссылку после покупки зашарят, то не стоит — можно выложить сам скачаный файл.
В Webmoney можно продавать файлы, есть сервис по продаже книг.
Ну, а если Вам не нужны наши советы, а и правда нужна одноразовая ссылка, то;
1. При покупке генерируете последовательность символов и записываете себе.
2. Отдаете клиенту ссылку типа site.ru/download/[RANDOM]/file.zip
3. В .htaccess (если Апач):
RewriteEngine on
RewriteRule ^download/(.+)/file.zip$ /download.php?key=$1 [L]

4. В download.php проверяете $_REQUEST['key'], отдаете файл (лежит вне DocumentRoot), ставите себе флаг, что файл отдан. После этого ключ проверку не проходит, download.php выдает ошибку.
Ответ написан
@ZvonD
Вот тут очень подробно об этом написано: www.kevinsworkbench.com/hide_paypal_downloads_with...
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
shopcms умеет так. Только неясно что насчет «скачать 1 раз».
Ответ написан
opium
@opium
Просто люблю качественно работать
Одноразовые ссылки делаются с помощью симлинков в файловой системе.
Обычно есть файл /mnt/prodaga.avi
Когда человек купил кину, то вебсервер отправляет запрос на раздающий сервер создать симлик на него по типу /var/html/erfeiurfgergfyberf.zip
и уже отдаете человеку ссылку _http://myip.com/erfeiurfgergfyberf.zip
На раздающем сервере стоит скрипт который удаляет симлинки старit двух дней.
примерно так это реализовано у большинства продавцов видео.
Ответ написан
xSkyFoXx
@xSkyFoXx
Данную функцию можно легко организовать при помощи связки drupal+ubercart.
В интернетах в том числе и на youtube'е есть множество видеороликов, которые демонстрирую, как это сделать за считанные десятки минут. Модуль, который входит в набор модулей ubercart, отвечающий за требуемый вам функционал называется File Downloads и входит в Ubercart — ядро (дополнительные).
Ответ написан
Комментировать
2ord
@2ord
Если файлы хранятся в облачном хранилище Amazon S3, то для него есть API с функцией создания pre-signed URL, которая позволяет создавать ссылку с временным доступом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы