Скачивание файлов и учет трафика

twistfire

Новичок
Скачивание файлов и учет трафика

Есть задачка.
Существует определенное количество файлов, к которым необходимо выдавать доступ за деньги.

Т.е. предположим юзер ложит себе на счет 50 $ и может свободно скачать 50 Мб этих файлов.

Вопрос: Как организовать такую систему?

Или может есть другие способы?
Как проверить, скачан файл пользователем или нет?

Может есть готовые решения, кто-то делал?
 

Toxic_Cat

Новичок
Re: Скачивание файлов и учет трафика

Автор оригинала: twistfire
Есть задачка.
Существует определенное количество файлов, к которым необходимо выдавать доступ за деньги.

Т.е. предположим юзер ложит себе на счет 50 $ и может свободно скачать 50 Мб этих файлов.

Вопрос: Как организовать такую систему?

Или может есть другие способы?
Как проверить, скачан файл пользователем или нет?

Может есть готовые решения, кто-то делал?
Насчет того скачал ли пользователь файл или нет врят-ли сможешь проконтролировать...

Но контролировать трафик можно :)
 

Romashov

экспериментатор
Я не знаю как, но mp3spy.ru показывается, сколько скачалось (100% от файла, 250%). Есть идея, что файл выдаёт скрипт, пропуская через себя и считая переданное. Но ведь тут встаёт вопрос нагрузки...
 

Dreammaker

***=Ф=***
Ну дык популярные ресурсы подобной тематики не на виртуальном хостинге делают....

5+ ) 250% от файла эт симпатично.. Идея скачивать файл в цикле или как? :)
 

twistfire

Новичок
Таких решений много. Я навскидку сайтов 5 назову...

А как хотя бы контролировать трафик?

-~{}~ 08.12.05 15:15:

ну что, никто не знает??
 

twistfire

Новичок
ну я же немог так делать, ведь если пользователь недокачал файл, а я средства со счета уже вічту - фигня получается :(
 

DEEX

Guest
Toxic_Cat твои предложения по контролю трафика....
 

Romashov

экспериментатор
Тогда пусть пользователь предварительно заказывает файл - вычитается трафик=размеру, и пусть качает сколько хочет в течение некоторого времени.
 

twistfire

Новичок
да, но ведь вы понимаете, что этот пользователь может отдать ссылки другим, что очень невыгодно, т.к. данные очень специфические ...

Ну хотя спасибо за рпедложенные идеи.
Спасибо.
 

DEEX

Guest
twistfire можно сделать еще проверку по IP... если ты боишься за то что ее кто-то будет качать...
 

whirlwind

TDD infected, paranoid
>Может есть готовые решения, кто-то делал?
Есть, но разбираться будете сами. ПМ, если надо выслать.
 

Toxic_Cat

Новичок
Автор оригинала: DEEX
twistfire можно сделать еще проверку по IP... если ты боишься за то что ее кто-то будет качать...
Регистрация и генерирование специальных ссылок с кодом для скачивания...
 

twistfire

Новичок
что значит генерирование спец. ссылок с кодом для скачивания?
 

Toxic_Cat

Новичок
Автор оригинала: twistfire
что значит генерирование спец. ссылок с кодом для скачивания?
Каждому пользователю будет даваться ссылка вида
file.php?id=1&code=ds5sdfk324bgkkds66

Вот так можно ограничить на скачивание только для определенных пользователей
 

Turist

Новичок
По поводу учёта трафика есть вот такая идея.
Выдавать файл кусками и после посылки каждого куска наращивать счётчик. В скрипте прописать shutdown функцию, которая по завершению скрипта провиряет был ли скрипт прерван и в случае если был, то записывает сколько было скачено.
Идея конечно спорная, но другой пока нет ;)
Минусы:
1) Скрипт считывает весь файл (хоть и кусками)
2) PHP процесс висит до тех пор пока не будет скачен весь файл (или прервано соединение)
3) Неизвестно как будут работать системы докачки с этим скриптом (уверен что никак)
Плюсы:
1) Работает

Код лежит тут (извините больше положить некуда :( )

Жду предложений и дополнений ;)
 

twistfire

Новичок
Автор оригинала: Turist
По поводу учёта трафика есть вот такая идея.
Выдавать файл кусками и после посылки каждого куска наращивать счётчик. В скрипте прописать shutdown функцию, которая по завершению скрипта провиряет был ли скрипт прерван и в случае если был, то записывает сколько было скачено.
Идея конечно спорная, но другой пока нет ;)
Минусы:
1) Скрипт считывает весь файл (хоть и кусками)
2) PHP процесс висит до тех пор пока не будет скачен весь файл (или прервано соединение)
3) Неизвестно как будут работать системы докачки с этим скриптом (уверен что никак)
Плюсы:
1) Работает

Код лежит тут (извините больше положить некуда :( )

Жду предложений и дополнений ;)
По-моему это неверно не давать юзерам возможность докачивать скрипт.
Но тоже большой вопрос - как сделать по-другому? Может парсить логи?
 

Turist

Новичок
Есть решение! Можно реализовать докачку.
Читаем HTTP RFC пункт про Rage заголовок
Смотрим пример в 1-м комментарии к функции fread на php.net
(Сделал, проверил, но скрипт оставил на работе... завтра если дойду до работы выложу)

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

twistfire

Новичок
что-то уж это по-м-ему слишком сложная система получится.

ПРо Range я и сам думал, но тогда качалки, которые самые хорошие, которые секциями качают - мне сервак просто убьют?
(будет много процессов Или нет, вот єто интересно, какая нагрузка?)
Т.е. я понимаю, что качалки просто будут требовать у скрипта различные части файла?

Но код вы все же приведите, интересно получится, если применить все сразу. Т.е. генерацию ссылки, учет конкретного пользователя, учет трафика, и конечно возможность докачки с поомощью заголовков. ПРосто главное чтобы скрипт не был ресурсоемким.
 
Сверху