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

Форум PHP

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

 

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

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

тема: Как скрыть реальные адреса файлов
 
 автор: flysex   (26.10.2006 в 17:27)   письмо автору
 
 

Делаю защищенный паролем доступ к галерее файлов. При этом предпологаю след. структуру:
1)Пользователь авторизируется, при этом создается временная папка с каким нибудь дурацким именем в стиле MD5-хеша
2)В эту папку кидается файл, который бродит по ЗАРАНЕЕ СОЗДАННОЙ ДРУГОЙ ПАПКЕ, в которой реально расположены все файлы в виде, будто они расположены ВО ВРЕМЕННО Й ПАПКЕ; + файл .htaccess, который при помощи mod_rewrite скрыто меняет эти ссылки на РЕАЛЬНЫЕ АДРЕСА ФАЙЛОВ (так необходимо, чтобы юзер не мог узнать настоящег о адреса, и, например, сказать "Вася, качай там-то такой то файл, я сегодня нашел")
3)Периодически бродит по серверу КРОН и удаляет старые папки, т.е. ссылки эти будут действительны лишь некоторое время..
Проблема: помогите создать этот самый .htaccess, чтобы он скрыто направлял браузер от ссылок вида http://site.ru/folder_md5_1/image.jpg http://site.ru/real_path /image.jpg и так далее, и только для определенных расширении
Всем огромное спасибо за хэлп!)))

   
 
 автор: Unkind™   (26.10.2006 в 17:48)   письмо автору
 
   для: flysex   (26.10.2006 в 17:27)
 

Так если Вам нужны временные URL, то Вам лучше подойдет не mod_rewrite, а просто php-файл, который и будет одновременно скрывать настоящий адрес и может давать временные адреса...

Так необходимо, чтобы юзер не мог узнать настоящег о адреса, и, например, сказать "Вася, качай там-то такой то файл, я сегодня нашел"
Сказать это никому не помешает...:)

Не совсем понятно, что конкретно Вы хотите? Защиту от грабберов? Типа сизы и ваба? :)

P.S. Интересная папка - "folder_md5_1" :))

   
 
 автор: tuder   (26.10.2006 в 18:40)   письмо автору
 
   для: flysex   (26.10.2006 в 17:27)
 

> только для определенных расширении

Я бы не заморачивался, а сделал примерно так:
1) считываем каталог с файлами и формируем страничку со ссылками такого вида

http://my_site.ru/download.php?name=file_in_gallery.jpg
http://my_site.ru/download.php?name=file_in_gallery.pdf

2) отдаём файл через скрипт не показывая вообще никакого каталога

где download.php

<?
if (substr($name, -4)==".jpg") {header("Content-type: image/jpeg");}
if (
substr($name, -4)==".pdf") {header("Content-type: application/pdf");}
header("Content-Disposition: attachment; filename=".$name);
readfile("/my_security_folder_in_gallery/".$name);
?>


Прошу сильно не пинать, кружку пива уже принял. :-)

   
 
 автор: sav   (26.10.2006 в 20:40)   письмо автору
 
   для: tuder   (26.10.2006 в 18:40)
 

этим скриптом можно скачать с сервака всё что угодно не только картинки и пдф )))

   
 
 автор: tuder   (26.10.2006 в 20:49)   письмо автору
 
   для: sav   (26.10.2006 в 20:40)
 

Хе, спорить не буду. Вторую принял. :-)

Методы защиты добавляются по вкусу.

Но могу предположить, что всё же скачать можно только внутри /my_security_folder_in_gallery
И для начала надо угадать имена файлов хранящихся в ней. Ы?

   
 
 автор: cheops   (26.10.2006 в 21:43)   письмо автору
 
   для: flysex   (26.10.2006 в 17:27)
 

Обычно делают не так: все файлы ложат в защищённую директорию, а скрипт, проверяющий права, пользователя (имеет он право на файл или нет) сам выдаёт файл (так как он в отличие от пользователя имеет доступ к защищённой директории). Подробнее это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=7073.

   
Rambler's Top100
вверх

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