[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скачивание файла
quickxyan
как можно сделать, чтобы например пользователь скачал файл по прямой ссылке, а кто-то другой не мог скачать тот же файл если у него есть ссылка?

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




Спустя 2 минуты, 26 секунд (9.02.2012 - 18:54) Winston написал(а):
Давать скачку для определенного IP.
Или формировать ссылку с каким нибудь хешем, которая будет действительна определенное количество мин/час.

Спустя 13 минут, 16 секунд (9.02.2012 - 19:07) quickxyan написал(а):
Winston
спасибо.

Спустя 1 час, 29 минут, 58 секунд (9.02.2012 - 20:37) Игорь_Vasinsky написал(а):
ну по IP много народу ложануться может)


Спустя 6 минут, 54 секунды (9.02.2012 - 20:44) nugle написал(а):
quickxyan
можно регистрацию сделать, как вариант.
Да и выводить только кому можно, а на скачивание все равно проверять, если доступ или нет

Спустя 3 часа, 32 минуты, 40 секунд (10.02.2012 - 00:17) quickxyan написал(а):
регистрация не катит. думал, что можно по кукам раздавать, если есть установленые кукисы, то давать возможность качать, а если нет, то не давать.
а как это реализовать в коде?


if(isset($_COOKIE['flag'])){
//какая тут должна быть команда?
}


Ну например если сделать ссылкой, то надо просто прямой адрес ввести, а тут как быть?

Спустя 14 часов, 1 минута, 5 секунд (10.02.2012 - 14:18) Winston написал(а):
Делай так как сделано на denwer.ru формируется уникальная ссылка, записывается в БД, и доступна в течении N минут. Перед скачиванием проверяется есть ли в бд уник. ссылка если есть даем на скачивание файл, если нет - значит выдаем ошибку.
Ну вот как-то так.

Спустя 6 дней, 7 часов, 54 минуты, 47 секунд (16.02.2012 - 22:13) ADiel написал(а):
А для отдачи файла используй Nginx и x-accel-redirect
Ссылка вида site.ru/download/672t323472rurgyfg32u.exe может обрабатываться скриптом, который проверит в базе данных или еще где связь между 672t323472rurgyfg32u.exe и userID. Я отдаю файлы так:

$filename = "test.mp3";
header("Content-Transfer-Encoding: binary");
header("Cache-Control: no-cache, must-revalidate");
header('Content-type: audio/mpeg');
header("Content-Length: ".filesize("/путь/к/файлу.mp3"));
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("X-Accel-Redirect: /data/music/путь/к/файлу.mp3");


_____________
печатаю со скоростью 320 минут в знак...

плюсуем карму не стесняемся
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.