Динамичиские ссылки сроком действия 30 мин

  • Автор темы Автор темы chdv
  • Дата начала Дата начала

chdv

Guest
Динамичиские ссылки сроком действия 30 мин

Собственно проблема как мне кажеться не сложная, может кто подскажет решение?
Есть некий сайт на катором лежит софт, трафик в день более 2Гб, при этом колличество поситителей которых регистрирует рейтинг 500-600, тоесть, кто хочет качает совтяру по прямой ссылке.
Задача: 1. сделать доступ на страницу с софтом только со стартовой странице. 2. генерить ссылки динамичиски, сроком действия 30 минут

В общемто, первый пункт решился одной строчкой, а вот второй ни как не получаеться.
Помогите.
 
а без базы нельзя?
желательно генерить ссылки для каждого клиента по сессии
а если это делать через базу будет нагрузка на сервер
 
зато с накоплением ссылок в базе будет затруднен поиск
 
удаляй их так же смело по истечении времени
или ставь статус=0 для статистики
 
понятно
может есть какая-то реализация такого решения?

-~{}~ 09.02.05 15:28:

я тут подумал, может при создании страницы, файлы паковать со случайным именем и делать ссылки на новые файлы, а через 30 минут их грохать. Может так лучше будет?
 
Originally posted by chdv
я тут подумал, может при создании страницы, файлы паковать со случайным именем и делать ссылки на новые файлы, а через 30 минут их грохать. Может так лучше будет?
Плохая идея! Два поста назад ты спрашивал, не будет ли нагрузки на сервер от работы с БД. Представь, какую нагрузку даст упаковка! Конечно, можно просто переименовывать файл, без всякой переупаковки, но это, по-моему, некрасивое решение. К тому же: 1) через 10 переименований сам не будешь знать, что у тебя где 2) все-равно где-то надо будет хранить ссылки на постоянно меняющиеся имена файлов. Проще закрыть директорию с фалами .htaccess'ом и выдавать их скриптом, который, в свою очередь, должен проверять валидность ссылки. Ссылку генерить случайно и хранить в базе. Не хочешь в базе - сделай генерацию ссылки зависимой от времени на сервере, например. Только, конечно, не вида download.php?link_id=2005-02-08-11-30 :D
 
да, про упаковку глупость сморозил, просто всякие решения ищу
 
chdv
В общем - передавай в url
1. Таймстамп.
2. filename
3. crc32(md5(timestamp.filename)).

Таким образом - ты проверяешь таймстамп на то, что он не проэкспайрился - это поле 1.
Поле три тебе нужно для того чтобы проверить, что пользователь не пытается подделать таймстамп.
Дёшево и сердито. Вряд ли кому-то захочется ковыряться и искать алгоритм.
 
chdv
А если за 30 мин скачать не успел? Проблемы посетителя?
 
ForJest Спасибо за совет, попробую реализовать
 
Alien
почему за 30 минут? в течение 30 минут...
а качать хоть весь день может.. без обрыва соединения
вот если оборвалось соединение или остановилась скачка - проблемы посетителя
 
Сверху