Как понять "- Защищать файл от несанкционированного скачивания."?
Представьте, что ссылка на скачивание файла сгенерирована для одного клиента, а он передал эту ссылку другому. Так вот, механизм защиты не позволит скачать файл никому, кроме клинта, для которого ссылка была сгенерирована. Это сложный механизм, но это возможно.
Также каждая ссылка может иметь "время" жизни, т.е. диапазон времени, в котором она активна.
LEONeso пишет:
Как делается это "- Контролировать кол-во потоков скачивания для каждого IP." ?
Возможно фиксировать кол-во потоков скачивания для каждого IP и запрещать, к примеру, более одного соединения с клиентом. PHP имеет инструменты, которые позволяют определить, ведется ли скачивание или уже закончено\отменено.
Код писал на коленке, но механизм работы должен быть понятен.
Это самая простейшая реализация.
Еще можно:
- Вести логи доступа к файлам, в которых указывать IP, время, имя файла, браузер, акаунт и тд.
- Регулировать для каждого пользователя или группы скорость скачивания.
- Регулировать уровни доступа к файлам, кому качать можно, а кому нет.
- Контролировать кол-во потоков скачивания для каждого IP.
- Защищать файл от несанкционированного скачивания.
и тд и тп ...
Давайте начнем сначала. Вы напишите что именно требуется от вашего скрипта, а я вам постараюсь подсказать как реализовать. А то вижу вы немного не в теме. (Добавление)
Вот смотрите, примеры URL:
Хотя наверное проще использовать прямой путь к файлу? Не знаю, что может случиться при таком подходе.
Может случится скачивание файлов перебором, игнорируя все ваши страницы.
LEONeso пишет:
если использовать шифрование md5, то при проверке истенности запрашиваемого пути, придется проверять таким же способом все доступные пути
Это смотря как сделать. Я советовал использовать MD5 для шифрования спец. ключа, который находится в URI, вместе с PATH к файлу. Подобная схема хороша тем, что MD5 хеш не поддается обратному преобразованию.
Если в URI не передавать PATH, то можно использовать короткий URI-синоним, к примеру:
В этом случае где-то придется хранить все эти синонимы.
Вариантов множество, все зависит от задачи: организовать удобный механизм скачивания, защитить от несанкционированного скачивания, еще что-то? (Добавление)
Пробуйте для начала обычным способом: