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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите защитить pdf'ки

Сообщения:  [1-4] 

 
 автор: Shoot   (06.02.2007 в 11:02)   письмо автору
 
   для: вит   (05.02.2007 в 20:07)
 

Я посидел подумал и сделал...вобщем в папке где лежат сими pdf'ки закрыл apach'ем через <files *.pdf...deny from all....вот а на странице где выводятся список pdfак ссылки имеют вид типа /mysite/pdf/download.php?issue=12345
По переходу на эту ссылку открывается новое окно и выполняется скрипт download.php. Там сначала идет проверка на существование файла...и если он существует выполняется проверка на аунтификацию (взял скрипт на этом замечательном сайте) после успешного прохода посылаются загаловки....

require_once("security_mod.php");
//Получаем название файла
$filename="issues/".$_GET['issue'].".pdf";
if(!file_exists($filename)) echo "Нету файла";
else
{
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\"");
header("Content-type: application/pdf");
readfile($filename);
}

вот так вот...
Насколько это безопасно????

   
 
 автор: вит   (05.02.2007 в 20:07)   письмо автору
 
   для: Shoot   (05.02.2007 в 05:33)
 

Есть еще один способ, сделать массив, в котором будут прописаны имена файлов , на той странице где у тебя выводятся файлы для загрузки(полагаю что ссылка ведет прямо к файлу и это не есть гуд) поставить каждому файлу например такую ссылку
echo "<a href=".$_SERVER['PHP_SELF']."?down=filename>file</a>";
а в начале скрипта проверять есть ли такое имя (filename всмысле) в массиве, если да то при помощи заголовков отправить в нужном направлении

   
 
 автор: Disable   (05.02.2007 в 14:51)   письмо автору
 
   для: Shoot   (05.02.2007 в 05:33)
 

создайте файл .htaccess в нужной папке и пропишите в нем
<Files "*.pdf">
deny from all
</Files>

(способ описан в книге "Головоломки на PHP для хакера")

   
 
 автор: Shoot   (05.02.2007 в 05:33)   письмо автору
 
 

Ребята...я с той же томой...сделал закачку фалов черес скрипт...файлы (pdf) находятся в отдельной папке...как мне запретить прямой переход к этим файлам? допустим есть файл в папке - /issues/1.pdf переход по этом ссылке вызывает даунлоад....есть способы запретить это? может с помощью переадресации на скрипт?

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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