Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вызвать download в браузере не давая прямую ссылку
 
 автор: Chekist   (09.11.2006 в 23:38)   письмо автору
 
 

Как реализовать функционал похожий на метод скачивания файлов в рапиде.
Или подскажите другие методы защиты ссылок - чтобы ссылку не могли левые пользователи юзать(только прошедшие аутентификацию) и каким либо образом скопировать.

   
 
 автор: cheops   (10.11.2006 в 00:06)   письмо автору
 
   для: Chekist   (09.11.2006 в 23:38)
 

Для этого пишут скрипт вида
<?php 
...
// Проверка аутентификации
...
header("Content-Disposition: attachment; filename=$path");    
header("Content-type: application/octet-stream"); 
echo 
file_get_contents($path); 
?> 


http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=21366

   
 
 автор: Chekist   (14.11.2006 в 11:37)   письмо автору
 
   для: cheops   (10.11.2006 в 00:06)
 

Я попробовал - все работает, но с одним но - если $path находиться в текущей директории то браузером при загрузке опроеделяется тип файла и его размер а если ложишь в другую директорию то ничего не определяется
вот листинг
<?php
$path = 'uploads/CMS.rar';
header("Content-Disposition: attachment; filename=$path");
header("Content-type: application/octet-stream");
echo file_get_contents($path);
?>
и еще фопрос - как мне вызвать закачка по нажатию кнопки из формы и чтобы закачка началась через
определенное мной количество секунд?

   
 
 автор: Trianon   (14.11.2006 в 12:05)   письмо автору
 
   для: Chekist   (14.11.2006 в 11:37)
 

>все работает если $path находиться в текущей директории

имя файла, указываемое в значении атриута filename поля Content-Disposition заголовка отклика не должно содержать пути к файлу. И должно быть обрамлено в кавычки.
И неплохо его продублировать в значении атриута name поля Content-Type таким же образом.

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

Обычно это делается посредством атрибута reload поля Location: заголовка документа.

   
 
 автор: Chekist   (14.11.2006 в 12:25)   письмо автору
 
   для: Trianon   (14.11.2006 в 12:05)
 

Спасибо - все получилось

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования