Добро пожаловать, Гость!

 
Для нас. Форум для общения







Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Безопасное скачивание с помощью PHP 
Автор Сообщение
Админ
Аватара пользователя

С нами: 8 лет, 6 месяцев и 5 дней
Сообщения: 221
Репутация: 101
Ответить с цитатой
Автор темыСообщение Безопасное скачивание с помощью PHP
Сегодня я покажу вам, как вы можете легко защитить ваши загружаемые медиа файлы.

Зачем это вам нужно? Ну, часто мы хотим скрыть расположение скачиваемого файла, чтобы люди перестали скачивать его.

Вот метод, который мне очень нравится.

Файл: download.php
<?php
$filename 
= "downloaded.zip"; // this is the fake name you want the downloaded file to be called.
$source = "/downloads/thefile.zip"; // this is the real name and location of the file.
 
if(file_exists($source)) { // check that the real file exists, if so do the following..
 
   header
('Content-type: application/zip'); // set the content type of the current page to the type of file being downloaded
   header('Content-Disposition: attachment; filename="'.$filename.'"'); // Forge the download name by setting filename=
   readfile($source); // grab the real file to prompt download.
 
} else { // if the file doesn't exist
echo "Error: File not found!"; // display error message
}
?>


Итак, как мы это сделаем: переходим по адресу mysite.com/download.php, чтобы скачать ‘thefile.zip’ из папки /downloads/ и набираем этот адрес с ‘downloaded.zip’.

Это самый наипростейший метод.. С $_GET запросом вы можете скачать все что угодно из папки /downloads/. Пример:
Файл: download.php
<?php
$id 
= $_GET['file'];
$filename = "downloaded-".$id.".zip"; // will forge the name downloaded-5.zip (if download.php?file=5 is requested)
$source = "/downloads/thefile-".$id.".zip"; // will pick the real file titled thefile-5.zip (if download.php?file=5 is requested)
 
if(file_exists($source)) { // check that the real file exists, if so do the following..
 
   header
('Content-type: application/zip'); // set the content type of the current page to the type of file being downloaded
   header('Content-Disposition: attachment; filename="'.$filename.'"'); // Forge the download name by setting filename=
   readfile($source); // grab the real file to prompt download.
 
} else { // if the file doesn't exist
echo "Error: File not found!"; // display error message
}
?>


Еще более интересней, если вы любите забавляться с безопасностью скрипта. Особенно когда вы имеете дело с деньгами($$$). А особенно хорошо, когда вы имеете дело с базами данных, когда вы кодируете имена файлов в MD5 шифр и сопоставляете его с ID бд.

Надеюсь вы узнали что-то новое читая эту статью..


17 июл 2011, 02:16
Профиль ICQ WWW
Новичок
Новичок
Аватара пользователя

С нами: 2 года, 1 месяц и 28 дней
Сообщения: 35
Репутация: 0
Ответить с цитатой
Сообщение Re: Безопасное скачивание с помощью PHP
Спасибо за статью, как раз допиливаю у себя аналогичное на сайте.


24 сен 2015, 14:17
Профиль WWW
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Google [Bot], Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Мобильный вид
Powered by phpBB® Forum Software © phpBB Group

[ Время выполнения: 0.106s | 21 Запросов | GZIP : Вкл ]