Ну лично лучший способ создать скрипт download.php
, а затем отправить файл хэшей, что, Представьте, что вы имели макет каталога следующим образом:
/downloads/
/2010/
/abc8755ghc7659c75678bf78968.file
/abc8755ghc7659c73278ef78998.file
/abc8755ghc7659c75678bf78968.file
/2009/
/abc8755ghc7659c75678bf78968.file
/abc8755ghc7659c75678bf78968.file
И тогда у вас был скрипт загрузки. php. Затем вы можете проверить информацию о пользователях для защиты ваших фактических файлов для скребков и т. д.
Сохранение файлов без расширения в порядке, до тех пор, пока при загрузке файла вы можете получить всю информацию и сохранить ее в своей базе данных, чтобы при отправке файла у нас есть Content-Type, Extension, Исходное имя файла и т. Д., Поэтому мы можем правильно отправить
Причина хэширования заключается в том, что синтаксические анализаторы и скребки могут легко найти фактический файл на сервере, поэтому, если скребок просматривает ваш сайт, а затем видит заголовок, называемый My ebook 2010.pdf, Он не сможет скачать его с вашего сервера, например http://mydomain.com/downloads/My ebook 2010.pdf
, так как файл не существует, он существует в http://mydomain.com/downloads/abc8755ghc7659c75678bf78968.file
Безопасность всегда является лучшей мера, также с помощью PHP Сможет вы для проверки фактического пользователя, прежде чем ваше приложение решает погоду файл должен быть направлен или должен б edenied
PHP Пример сценарий будет выглядеть примерно так:
include 'all.the/files/needed.phhp';
if(!logged_in())
{
header('Location: /');
exit;
}
$FileRequest = FileRequest::getInstance();
$User = User::getInstance();
if($FileRequest->isValid)
{
if($user->canDownload($FileRequest->GetDatabaseID()))
{
$FileRequest->SendFile();
exit;
}
}
Таким образом, вы можете контролировать отправку отправления, вы никогда не раскрываете местоположение своего файла, а блокировки хранятся с хешем, который будет трудно найти.
Альтернативно вы можете открыть файл в теге iframe или теге объекта. Это субъективный вопрос ... – zzzzBov
Я мог бы спросить его на одном из других форумов .... Возможно, веб-мастера? – Metropolis