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

Форум PHP

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

 

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

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

тема: Вывод фото только авторизованным пользователям.
 
 автор: PSB   (14.04.2009 в 21:25)   письмо автору
 
 

Приветствую, подскажите как организовать защиту фотографий на сервере. Нужно сделать так, что бы фото показывались только авторизованным пользователям. Или, можно ещё обозвать это дело, как запрет прямых ссылок. Авторизация осуществляется через сессии с применением MySQL базы, простой вход по имени и паролю.

  Ответить  
 
 автор: nikita2206   (14.04.2009 в 21:34)   письмо автору
 
   для: PSB   (14.04.2009 в 21:25)
 

нужно фото отдавать через скрипт, а папку с фото защитить от прямого доступа при помощи htaccess

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

  Ответить  
 
 автор: scorpius   (15.04.2009 в 14:28)   письмо автору
 
   для: nikita2206   (14.04.2009 в 21:34)
 

"а папку с фото защитить от прямого доступа при помощи htaccess"

или всунуть в папку index.php с header() на главную страницу

  Ответить  
 
 автор: PSB   (15.04.2009 в 14:51)   письмо автору
 
   для: scorpius   (15.04.2009 в 14:28)
 

А толку? Если человек знает имя файла, index.php не поможет.

  Ответить  
 
 автор: scorpius   (15.04.2009 в 15:04)   письмо автору
 
   для: PSB   (15.04.2009 в 14:51)
 

Замаскируй ссылку.
Сделай что-нибудь типа: http://image/index.php?image=yes&id=1

  Ответить  
 
 автор: PSB   (15.04.2009 в 16:17)   письмо автору
 
   для: scorpius   (15.04.2009 в 15:04)
 

У меня всё сложнее, несколько папок, в них картинки, php код в зависимости от выбранных параметров выводит картинки из этих папок. Я уже задавал вопрос защиты папки файлом htaccess. даже нашел пример но он делает то что выдаёт запрос авторизации для каждой картинки, т.е если будет 300 картинок то пользователю вылетит 300 окошек для авторизации.

AuthType Basic   
AuthName "Authorization" 
AuthUserFile  Z:/home/localhost/www/test/auth.php
require valid-user 

  Ответить  
 
 автор: Uzer44   (15.04.2009 в 16:34)   письмо автору
 
   для: PSB   (15.04.2009 в 16:17)
 

Вообще не вижу проблеммы !
Допустим мы заливаем фотки в /home/user/script/photo/folder1
/folder2
/folder3
Ставим права запрешяющие на прямое скачивание.
Затем пишем скрипт который на опр. условиях будет читать
нужный тебе файл и выдавать изображение на вашу страницу
при этом пользователь в жизни не узнает где хранятся фотки
а если очень умный тогда ему не хватит прав на скачивание
также не линем будет переименование файла пользователя
в некое наше "системное" его можно организовать средствами мд5
или случаной генерации имени

а урл адрес картинок будет примерно таким site.ru/image.php?id=3

  Ответить  
 
 автор: PSB   (15.04.2009 в 16:58)   письмо автору
 
   для: Uzer44   (15.04.2009 в 16:34)
 

Ну так как всё это сделать?
У меня картинки выводятся примерно так:

$images = glob("1/$folder/1/$folder1/1/$folder2/1/$folder3/$folder4/*.{jpg}", GLOB_BRACE); 
$counts=count($images); 
$separator="/"; 
for ($i=0;$i<16;$i++)

$path = explode ( $separator, $images[$i]); 
$file_name=$path[9];  
echo "<div align='center'><a href=".$images[$i]."><img src=".$images[$i]." widh='160' height='120'></a></div><p align='center'>".$file_name."</p>"; 


Т.е пользователь идёт по вопросам, в итоге в скрипт прилетают переменные с $folder по $folder4 а на сервере соответственно лежат картинки, и путь к ним вот таким образом формируется.

  Ответить  
 
 автор: Uzer44   (15.04.2009 в 17:32)   письмо автору
 
   для: PSB   (15.04.2009 в 16:58)
 

Довольно длинный пример такого кода могу вам написать готовый скрипт по тому принципу что я привел скажем за 0,5$

Я знаю что просить лавэ тут не принято но время работа стоит тем более беру немного.

Картинку читать можно так imagecreatefromjpeg imagecreatefromgif итд.
по поводу чмода 773 этого должно хватить чтоб не качали напрямую или же более жёще 733
критерии чтения папок хранить в переменных или в бД или же в каком либо файле
считывать опр фотку по запросу ID пользователя к примеру или по др условию
и выдавать ее так к примеру
header ("content-type: image/jpeg");
imagejpeg($dst_img);
imagedestroy($dst_img);

  Ответить  
 
 автор: PSB   (15.04.2009 в 18:22)   письмо автору
 
   для: Uzer44   (15.04.2009 в 17:32)
 

ICQ 575497стукни

  Ответить  
 
 автор: nikita2206   (15.04.2009 в 19:02)   письмо автору
 
   для: Uzer44   (15.04.2009 в 17:32)
 

картинку читать нужно обычным fopen или скажем file_get_contents...
imagecreatefrom*() создаёт экзэмпляр картинки для GD преобразований, соответственно кушает больше памяти...

  Ответить  
 
 автор: Uzer44   (15.04.2009 в 19:03)   письмо автору
 
   для: nikita2206   (15.04.2009 в 19:02)
 

согласен :-) с вами

  Ответить  
Rambler's Top100
вверх

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