скачка посетителем из запароленной директории
Вариант с отдачей файла только с определённой страницы сайта имеет смысл. Если для получения сылки на некоторый файл необходимо зайти на какую-то страницу, то на этой странице должна ставиться кука, а при обращении к файлу эта кука должна проверяться. Всё вполне логично. Но есть нюанс с раздачей. Любая раздача файлов через пхп рано или поздно нагнёт сервер, плюс обернётся геморроем при необходимости поддерживать докачку и скачивание в несколько потоков. Поэтому надоть использовать легковесный фронтенд для раздачи файлов (я использую nginx), а скриптом в апаче проверять только валидность запроса.
Перед апачем ставится nginx. Это на самом деле не так сложно, как кажется, надо только поковыряться некоторое время. При получении ссылки на файл, который надо раздавать не всем, скрипт, запущенный под апачем, проверяет валидность запроса и говорит "header('X-Accel-Redirect: /files/somefile')", после чего nginx раздаёт этот файл из папки /files/, которая помечена как internal. В документации к nginx всё описано более подробно и достаточно подробно.
|