Временные ссылки

Статус
В этой теме нельзя размещать новые ответы.
А без базы данных можно обойтись? Чтоб нагрузка поменьше была. Если какая-нибудь универсальная функция, перекодирующая имя файла туда и обратно? Можно файлы хранить с определенными именами, чтоб перекодировать проще было.
 
А без базы данных можно обойтись? Чтоб нагрузка поменьше была. Если какая-нибудь универсальная функция, перекодирующая имя файла туда и обратно? Можно файлы хранить с определенными именами, чтоб перекодировать проще было.

можно и без бд..на форуме посмотри скрипты от код каньон, там была фишка для организации "бета-тестирования" на сайте. На ее основе можно решить данную задачу...однако - это изврат
 
  • Заблокирован
  • #13
Можно в куки писать - какой нибудь мд5-хэш пользователя и привязанный к этому файл_путь. задать им хранение в 36 часов.
Пользователь жмет на даунлод ссылку - download.php?hash=userhash . Делаем проверку - если хеш совпадает с тем что в куках - выдаем файл.
 
Хомячок для самой простой реализации без БД можно сделать что-то типа этого
PHP:
$f = urlencode(base64_decode('fileName'.time()));
//пользователю давать ссылку вида "site/?f=".$f;
 $f = $_GET['f']; // потом получать из гет-массива даные 

base64_encode(urldecode($f)); //и декодировать 
//после чего отделять время и имя файла ... ну и отдавать его юзеру если время подходит ...
но более опытный юзер может это дело декодировать.


Mxnrl человеку на мыло присылают ссылку ...
а если он откроет мыло из 2 браузера в котором кукисов уже не будет? или у него чистка системы при старте винды происходит ... - ИМХО ненадежно
 
но более опытный юзер может это дело декодировать.
Можно генерировать файл по предложенной выше схеме и вместо получения параметра проверку производить по имени файла $_SERVER['SCRIPT_FILENAME'] , тогда декод не поможет. А раз в сутки или реже\чаще запускать очистку директории от просроченных.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху