|
|
|
| Приветствую, подскажите как организовать защиту фотографий на сервере. Нужно сделать так, что бы фото показывались только авторизованным пользователям. Или, можно ещё обозвать это дело, как запрет прямых ссылок. Авторизация осуществляется через сессии с применением MySQL базы, простой вход по имени и паролю. | |
|
|
|
|
|
|
|
для: PSB
(14.04.2009 в 21:25)
| | нужно фото отдавать через скрипт, а папку с фото защитить от прямого доступа при помощи htaccess
http://softtime.ru/forum/read.php?id_forum=1&id_theme=64050 | |
|
|
|
|
|
|
|
для: nikita2206
(14.04.2009 в 21:34)
| | "а папку с фото защитить от прямого доступа при помощи htaccess"
или всунуть в папку index.php с header() на главную страницу | |
|
|
|
|
|
|
|
для: scorpius
(15.04.2009 в 14:28)
| | А толку? Если человек знает имя файла, index.php не поможет. | |
|
|
|
|
|
|
|
для: PSB
(15.04.2009 в 14:51)
| | Замаскируй ссылку.
Сделай что-нибудь типа: http://image/index.php?image=yes&id=1 | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: PSB
(15.04.2009 в 16:17)
| | Вообще не вижу проблеммы !
Допустим мы заливаем фотки в /home/user/script/photo/folder1
/folder2
/folder3
Ставим права запрешяющие на прямое скачивание.
Затем пишем скрипт который на опр. условиях будет читать
нужный тебе файл и выдавать изображение на вашу страницу
при этом пользователь в жизни не узнает где хранятся фотки
а если очень умный тогда ему не хватит прав на скачивание
также не линем будет переименование файла пользователя
в некое наше "системное" его можно организовать средствами мд5
или случаной генерации имени
а урл адрес картинок будет примерно таким site.ru/image.php?id=3 | |
|
|
|
|
|
|
|
для: 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 а на сервере соответственно лежат картинки, и путь к ним вот таким образом формируется. | |
|
|
|
|
|
|
|
для: PSB
(15.04.2009 в 16:58)
| | Довольно длинный пример такого кода могу вам написать готовый скрипт по тому принципу что я привел скажем за 0,5$
Я знаю что просить лавэ тут не принято но время работа стоит тем более беру немного.
Картинку читать можно так imagecreatefromjpeg imagecreatefromgif итд.
по поводу чмода 773 этого должно хватить чтоб не качали напрямую или же более жёще 733
критерии чтения папок хранить в переменных или в бД или же в каком либо файле
считывать опр фотку по запросу ID пользователя к примеру или по др условию
и выдавать ее так к примеру
header ("content-type: image/jpeg");
imagejpeg($dst_img);
imagedestroy($dst_img); | |
|
|
|
|
|
|
|
для: Uzer44
(15.04.2009 в 17:32)
| | ICQ 575497стукни | |
|
|
|
|
|
|
|
для: Uzer44
(15.04.2009 в 17:32)
| | картинку читать нужно обычным fopen или скажем file_get_contents...
imagecreatefrom*() создаёт экзэмпляр картинки для GD преобразований, соответственно кушает больше памяти... | |
|
|
|
|
|
|
|
для: nikita2206
(15.04.2009 в 19:02)
| | согласен :-) с вами | |
|
|
|