Как сделать временный линк
От: Аноним  
Дата: 10.10.06 09:52
Оценка:
Сабж... хочу дать пользователю после покупки временный линк на полнофункциональную версию .... как проще организовать эти самые "временные линки" ?
У хостера *nix, есть PHP , perl ...
Re: Как сделать временный линк
От: grigsoft Беларусь http://www.grigsoft.ru/
Дата: 10.10.06 11:14
Оценка: +2
Многие регистраторы это поддерживают — тебе надо или к ним загрузить, или дать линк, а они организуют все остальное.
Re: Как сделать временный линк
От: uuu2  
Дата: 10.10.06 12:00
Оценка:
1. Генеришь код, заносишь его (и время) в БД.
2. Даешь ссылку юзеру типа http://myhost/myscript.cgi?code=XXX
3. Если код верный и текущее время нормальное (допустим, прошло не более 24 часов), то скрипт выдаёт ему файл или ключ.
Re: Как сделать временный линк
От: jit  
Дата: 10.10.06 13:43
Оценка:
" Аноним " <0@users.rsdn.ru> wrote in message news:2155007@news.rsdn.ru...
> Сабж... хочу дать пользователю после покупки временный линк на полнофункциональную версию .... как проще организовать эти самые "временные линки" ?
> У хостера *nix, есть PHP , perl ...

http://myserver.com/myfile.php?hash=YU23T3245K32F5K2345Y3F4523K45H34F5

где "YU23T3245K32F5K2345Y3F4523K45H34F5" — хеш-функция от текущей даты (соотв. линк будет работать сутки)

соотв. в скрипте проверяется
if($_POST["hash"] = md5(date()))
{
    //то все ок
}
else
// пошел нафик
Posted via RSDN NNTP Server 2.0
Re[2]: Как сделать временный линк
От: lozzy  
Дата: 10.10.06 13:44
Оценка: 1 (1) +1 :))
Здравствуйте, jit, Вы писали:

jit>" Аноним " <0@users.rsdn.ru> wrote in message news:2155007@news.rsdn.ru...

>> Сабж... хочу дать пользователю после покупки временный линк на полнофункциональную версию .... как проще организовать эти самые "временные линки" ?
>> У хостера *nix, есть PHP , perl ...

jit>http://myserver.com/myfile.php?hash=YU23T3245K32F5K2345Y3F4523K45H34F5


jit>где "YU23T3245K32F5K2345Y3F4523K45H34F5" — хеш-функция от текущей даты (соотв. линк будет работать сутки)


jit>соотв. в скрипте проверяется

jit>
jit>if($_POST["hash"] = md5(date()))
jit>{
jit>    //то все ок
jit>}
jit>else
jit>// пошел нафик
jit>


Низачот. Тема "23:59" не раскрыта.
Re[2]: Как сделать временный линк
От: jit  
Дата: 10.10.06 13:45
Оценка:
>
> if($_GET["hash"] = md5(date()))
>


тьфу блин, GET конечно...

PS. даешь редактирование
Posted via RSDN NNTP Server 2.0
Re[3]: Как сделать временный линк
От: jit  
Дата: 10.10.06 13:46
Оценка:
> Низачот. Тема "23:59" не раскрыта.

зануда
Posted via RSDN NNTP Server 2.0
Re[4]: Как сделать временный линк
От: lozzy  
Дата: 10.10.06 17:26
Оценка:
Здравствуйте, jit, Вы писали:

>> Низачот. Тема "23:59" не раскрыта.


jit>зануда


А можно еще чуть-чуть? Если вдруг у тебя дистр мегов 5, и отдавать ты его будешь пяти людям сразу, то шестой наверняка обломится, потому что лимит памяти ПХП-ов будет превышен (гыгы, спроси меня откуда я это знаю ). Потому что отдавать надо нежно и мелкими-мелкими кусочками по 64 килобайта, анализируя запросы на предмет второго потока и все такое

Так что, если софтина стоит больше 50-70 долларов, то проще слить ее регистратору и получать денег за download warranty.
Re[2]: Как сделать временный линк
От: Аноним  
Дата: 12.10.06 14:50
Оценка:
Здравствуйте, jit, Вы писали:

jit>соотв. в скрипте проверяется

jit>
jit>if($_POST["hash"] = md5(date()))
jit>{
jit>    //то все ок
jit>}
jit>else
jit>// пошел нафик
jit>

Раскройте, плиз, "//то все ок" — что там делать надо ?
PS. Не хотелось бы с БД заморачиваться. Есть ли возможность сделать на уровне файловой системы ?
Re[3]: Как сделать временный линк
От: jit  
Дата: 12.10.06 15:08
Оценка:
" Аноним " <0@users.rsdn.ru> wrote in message news:2160567@news.rsdn.ru...
> jit>
> jit>if($_POST["hash"] = md5(date()))
> jit>{
> jit>    //то все ок
> jit>}
> jit>else
> jit>// пошел нафик
> jit>

> Раскройте, плиз, "//то все ок" — что там делать надо ?

Ну, надо кусками, например, по 2048 байт прочитать файл с диска и записать его в Response-поток. Пример — см http://www.google.com/search?hl=en&amp;lr=&amp;q=php+file+download.php&amp;btnG=Search
(первая же строчка)

> PS. Не хотелось бы с БД заморачиваться. Есть ли возможность сделать на уровне файловой системы ?


конечно
Posted via RSDN NNTP Server 2.0
Re[4]: Как сделать временный линк
От: jit  
Дата: 12.10.06 15:14
Оценка:
> Ну, надо кусками, например, по 2048 байт прочитать файл с диска и записать его в Response-поток

Ой, я тормоз, привык ДотНету слишком....

в ПХП оказывается уже есть ф-ция readfile

http://www.php.net/function.readfile
Posted via RSDN NNTP Server 2.0
Re[2]: Как сделать временный линк
От: Аноним  
Дата: 12.10.06 16:04
Оценка:
Здравствуйте, jit, Вы писали:

jit>http://myserver.com/myfile.php?hash=YU23T3245K32F5K2345Y3F4523K45H34F5


jit>где "YU23T3245K32F5K2345Y3F4523K45H34F5" — хеш-функция от текущей даты (соотв. линк будет работать сутки)


jit>соотв. в скрипте проверяется

jit>
jit>if($_POST["hash"] = md5(date()))
jit>{
jit>    //то все ок
jit>}
jit>else
jit>// пошел нафик
jit>


А если пользователь оформил ордер в 23-30 — тогда ссылка будет всего 1 час работать ?
Re[3]: Как сделать временный линк
От: jit  
Дата: 12.10.06 16:20
Оценка:
" Аноним " <0@users.rsdn.ru> wrote in message news:2160699@news.rsdn.ru...
> А если пользователь оформил ордер в 23-30 — тогда ссылка будет всего 1 час работать ?

Это же просто пример. Час, два, десять дней — зависит от вас. Я думаю вы сможете самостоятельно модифицировать IF который за это отвечает?
Posted via RSDN NNTP Server 2.0
Re[4]: Как сделать временный линк
От: lozzy  
Дата: 12.10.06 17:03
Оценка:
Здравствуйте, jit, Вы писали:

jit>" Аноним " <0@users.rsdn.ru> wrote in message news:2160699@news.rsdn.ru...

>> А если пользователь оформил ордер в 23-30 — тогда ссылка будет всего 1 час работать ?

jit>Это же просто пример. Час, два, десять дней — зависит от вас. Я думаю вы сможете самостоятельно модифицировать IF который за это отвечает?


Нет, ты нам все же объясни, будет ли эта ссылка работать всего лишь один час или нет?
Re[5]: Как сделать временный линк
От: uuu2  
Дата: 12.10.06 19:49
Оценка:
L>Нет, ты нам все же объясни, будет ли эта ссылка работать всего лишь один час или нет?

Вообще-то она будет работать только ПОЛЧАСА.
И вообще всё будет зависеть от локального времени юзера. Если он живёт в Лондоне и залазит по ссылке в 22 часа, а мы делаем хеш по московскому времени, то у него случится облом...

И вообще, чем не нравится БД? Загоняешь в таблицу случайное число (код) и время в миллисекундах.
Если юзер идёт по ссылке с правильным кодом, а время ещё не истекло — надо дать ему нужный файл.
Если прошли сутки (или сколько там у вас), а юзер так ничего и не скачал — уведомить юзера по почте (предложить ему помощь и всё прочее).
Re[2]: Как сделать временный линк
От: Аноним  
Дата: 20.10.06 16:03
Оценка:
Здравствуйте, jit, Вы писали:

jit>http://myserver.com/myfile.php?hash=YU23T3245K32F5K2345Y3F4523K45H34F5


jit>где "YU23T3245K32F5K2345Y3F4523K45H34F5" — хеш-функция от текущей даты (соотв. линк будет работать сутки)


jit>соотв. в скрипте проверяется

jit>
jit>if($_POST["hash"] = md5(date()))
jit>{
jit>    //то все ок
jit>}
jit>else
jit>// пошел нафик
jit>

А как защитить такой скрипт от просмотра посторонними ? Достаточно ли просто права выставить (какие кстати нужно ) ?
Re: Как сделать временный линк
От: Аноним  
Дата: 25.10.06 08:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сабж... хочу дать пользователю после покупки временный линк на полнофункциональную версию .... как проще организовать эти самые "временные линки" ?

А>У хостера *nix, есть PHP , perl ...

Объясню ситуацию зачем это надо.
Мой регистратор — Emetrix.
Emetrix предоставляет следующие delivery options :
1) Full version download
2) registration code by e-mail

В случае 1 требуется закачать на сервер emetrix полную версию — и они сами генерят временный линк и отправляют его покупателю. Никакие ключи тут не поддреживаются.

В случае 2 emetrix вызывает мой скрипт где я могу сгенерить код и вообще вставить все что надо, однако в этом случае доступа к полной версии на их сервере нет — мне нужно разместить полную версию у себя и самому генерить временный линк ( соответственно все вопросы безопасности решать самому ). В качестве альтернативы они предлагают воспользоваться сервисом https://www.filekicker.com ( тут я пока в раздумьях — стоит ли вставлять дополнительное звено в процесс покупки .... хотя представители emetrix говорять что filekicker работает на том же сервере что и сам emetrix )

Мой триал не использует никаких регистрационных кодов — по сути это демо с урезанными функциями.
А вот полная версия требует регистрационный код т.е. мне нужно пользователю дать линк на полную версию и выслать регистрационный код
Re[5]: Как сделать временный линк
От: Аноним  
Дата: 01.11.06 15:38
Оценка:
Здравствуйте, lozzy, Вы писали:

L>А можно еще чуть-чуть? Если вдруг у тебя дистр мегов 5, и отдавать ты его будешь пяти людям сразу, то шестой наверняка обломится, потому что лимит памяти ПХП-ов будет превышен (гыгы, спроси меня откуда я это знаю ). Потому что отдавать надо нежно и мелкими-мелкими кусочками по 64 килобайта, анализируя запросы на предмет второго потока и все такое


L>Так что, если софтина стоит больше 50-70 долларов, то проще слить ее регистратору и получать денег за download warranty.


Увы, регистратор такого не поддерживает .... я описал ситуацию здесь
Автор:
Дата: 25.10.06

Есть идея менять регистратора — кого порекомендуете ?
Пока что посматриваю на RegNow, ShareIT, Plimus
Re[2]: Как сделать временный линк
От: Аноним  
Дата: 01.11.06 16:36
Оценка:
А>Мой регистратор — Emetrix.
А>Emetrix предоставляет следующие delivery options :
А>1) Full version download
А>2) registration code by e-mail

IMHO эти 2 опции можно объединить (и добавить еще доставку на CD).
Посмотри на кнопочку "Create option" на этапе Product Add: Step Three
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.