ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] pay-per-download, allofmp3.com


  • To: apache-talk@xxxxxxxxxxxxx
  • Subject: Re: [apache-talk] pay-per-download, allofmp3.com
  • From: Igor Vinokurov <zynaps@xxxxxxxxx>
  • Date: Thu, 15 Sep 2005 15:45:10 +0400
  • Content-length: 2520
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=maE31F7YjQy/ETNoiGiAVMLEQyAIrAMdlmkrDOElNvWQcDXON0LxD3ZDOLFfEAqnX1acRfU7F/DvgU5LHeq2fxLF7Nhrjy7eYbzpoAcD+uNr/fQhEa21JI93P5m1jghrS0cLqfIQoneXXt4Qn8HU7L8LdtbWfzHivQodJ6owZlA=
  • In-reply-to: <432955B2.9030702@xxxxxxxxxxxxx>
  • References: <5ed6626605091502442fca2b00@xxxxxxxxxxxxxx> <432955B2.9030702@xxxxxxxxxxxxx>

Да, отдавать буду из чего-нибудь такого, но вот с фактом отдачи
все-таки проблемы.

Во-первых, файлы с большой вероятностью будут забирать download
managers и куки не годятся, во-вторых, ip-адреса могут меняться от
сессии к сессии (поскольку файлы большие, скачивание может затянуться
и адрес клиента поменятся).

Пока остановился на таком варианте: в базе хранится ссылка на файл +
completed byte-ranges (CBR) + ip-адрес + token, а ссылка на файл будет
выглядеть так:

http://www.host.com/dir/token/filename.ext

И тогда при запросе файл будет отдан если:

a) запрашивается кусок файла, не входящий в CBR;
b) запрашивается кусок файла, входящий в CBR, но с того же ip-адреса.

И для обоих вариантов должно выполняться условие, что ссылка на файл
соответствует токену, а токен активный, то есть файл еще не забрали.

Непонятно только, как обрабатывать ситуацию, когда у пользователя
ip-адрес сменился, а качал он каким-нибудь IE и на 50% download
оборвался.

Пока не придумал. К сожалению, потенциально частая ситуация.

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

On 9/15/05, Ivan B. Serezhkin <ivan@xxxxxxxxxxxxx> wrote:
> 
> Igor Vinokurov wrote:
> 
> >Привет.
> >
> >А не назовет ли кто навскидку софт, реализующий pay-per-download
> >схему? Нужно нечто похожее на то, что сделано на allofmp3.com,
> >например.
> >
> >Кстати, не знает ли кто в деталях, какой алгоритм используется ими для
> >определения факта скачивания оплаченного файла?
> >
> >Самый простой вариант - парсим логи, выцепляем все релевантные 200 и
> >206, суммируем, как только сумма скачанных частей равна размеру файла
> >+ 10% считаем, что файл скачан.
> >
> >Как сделать лучше?
> >
> >
> Отдавай файл из фастцигиёвины.
> А ещё лучше из модперлового хандлера.
> Так ты конкретно отрулишь вопрос content-type,
> И самое главное, отрулишь процесс отдачи файла.
> Тоесть когда файл отдалсяЮ, сможешь запихнуть в бд факт отдачи,
> а если файл не отдался целиком, то можешь запомнить ip с которого забирали.
> И отдавать остатки файла только этому ip ...
> 
> А вот только что придумал:
> Выдавай куку одноразовую.
> Если файл отдался - просто пиши что файл отдали - списываем деньги.
> А если файл не отдался - то выдавай вторую куку.
> А в бд держи список файл => кука.
> Ну и кука вестимо - guid.
> 


-- 
Zynaps



 




Copyright © Lexa Software, 1996-2009.