Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 15:41   #1
biohazardo
Пользователь
 
Аватар для biohazardo
 
Регистрация: 27.09.2010
Сообщений: 24
Счастье Запрет на просмотр изображений некоторым пользователям

Требуется выполнить:

Есть много фотографий. Не все пользователи могу смотреть всё подряд. Например я хочу заблокировать определенным просмотр фотографий. Досуп к фото могу узнать из базы, php это выяснит.

Если на фотку дать прямую ссылку к файлу - дело плохо, так как другие по этой ссылке могу посмотреть.

Слышал что нужно закрыть в .htaccess папку с фотографиями, и выдавать изображения из памяти, ведь php будет иметь доступ.

Как это делается, какие функции, чем и с чем это наладить? Об этом вообще не знаю
biohazardo вне форума Ответить с цитированием
Старый 01.11.2011, 16:24   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

В htaccess конечно можно закрыть, но я не представляю, как вы будете идентифицировать пользователей ... писать их IP ???
Лучше сделать вот что
1. С помощью ModRewrite все ссылки на нужные изображения редиректите на страницу с php скриптом
2. В этом скрипте разбираетесь с правами пользователей и если все ОК, то библиотекой GD берете и выводите изображение на страницу, поставив ей в заголовке mime-type "image"
Cronos20 вне форума Ответить с цитированием
Старый 01.11.2011, 16:59   #3
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
2. В этом скрипте разбираетесь с правами пользователей и если все ОК, то библиотекой GD берете и выводите изображение на страницу, поставив ей в заголовке mime-type "image"
тут даже GD не нужен , можно readfile() заюзать или fread.. Код быстрее работать будет
ssdm вне форума Ответить с цитированием
Старый 01.11.2011, 17:15   #4
biohazardo
Пользователь
 
Аватар для biohazardo
 
Регистрация: 27.09.2010
Сообщений: 24
По умолчанию

Ну вот допустим идет html код страницы. Попадается нужный тег <img>. Мне надо в него вставить картинку. PHP может получить доступ к файлу uploads/1.jpg. Пользователь изза запрета в htaccess не может его получить.

Что мне нужно вставлять и как готовить картинку для тега img??
biohazardo вне форума Ответить с цитированием
Старый 01.11.2011, 17:53   #5
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Цитата:
Сообщение от ssdm Посмотреть сообщение
тут даже GD не нужен , можно readfile() заюзать или fread.. Код быстрее работать будет
Это правда, просто когда я у себя что-то похожее делал, я еще заодно с картинкой кое-какие манипуляции делал.

Цитата:
Ну вот допустим идет html код страницы. Попадается нужный тег <img>. Мне надо в него вставить картинку. PHP может получить доступ к файлу uploads/1.jpg. Пользователь изза запрета в htaccess не может его получить.
Что мне нужно вставлять и как готовить картинку для тега img??
Вы читали 2 поста?
Cronos20 вне форума Ответить с цитированием
Старый 02.11.2011, 15:09   #6
biohazardo
Пользователь
 
Аватар для biohazardo
 
Регистрация: 27.09.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Вы читали 2 поста?
Читал. Мой вопрос вам непонятен?
biohazardo вне форума Ответить с цитированием
Старый 02.11.2011, 16:21   #7
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Ну вот допустим идет html код страницы. Попадается нужный тег <img>. Мне надо в него вставить картинку. PHP может получить доступ к файлу uploads/1.jpg. Пользователь изза запрета в htaccess не может его получить.

Что мне нужно вставлять и как готовить картинку для тега img??
Код:
if(<юзер_авторизирован>){
    $content.="<img src=\"<url_to_picture>\">";
}else{
    $content.="<div>У вас нет прав для просмотра этой картинки</div>";
}
Как то так..
ssdm вне форума Ответить с цитированием
Старый 02.11.2011, 16:31   #8
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Вам написали что картинку нужно выводить = "формировать" в php скрипте.
А все ссылки на картинки типа <img src='images/image.jpeg'/> нужно чтобы переадресовывались с помощью ModRewrite на эту php страницу.
// to ssdm просто ТС изначально поставил условие
Цитата:
Если на фотку дать прямую ссылку к файлу - дело плохо, так как другие по этой ссылке могу посмотреть.
Cronos20 вне форума Ответить с цитированием
Старый 02.11.2011, 16:59   #9
biohazardo
Пользователь
 
Аватар для biohazardo
 
Регистрация: 27.09.2010
Сообщений: 24
По умолчанию

Если вместо mod_rewrite я буду писать сразу ссылку на php-скрипт с выводом картинки в заголовке так:

PHP код:
<img src="http://mysite.ru/image.php?code=код_картинки" /> 
В php-скрипте я буду выводить заголовок image.

Так будет правильно?

P.S. так и не понял как работает readfile(). Она прям выводит код картинки, и с заголовком она станет в бразуере отображаться?
biohazardo вне форума Ответить с цитированием
Старый 02.11.2011, 18:07   #10
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

картинки лучше редиректить так
http://mysite.ru/images/image1.jpg => http://mysite.ru/image.php?image=image1.jpg
Про readfile все правильно - читаем файл, ставим заголовок и выводим прочтенные данные
Cronos20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос на выборку значений с некоторым интервалом времени. call_me_Frank SQL, базы данных 7 13.05.2010 17:11
Работа с элементом Preview (просмотр изображений) dado-dado Microsoft Office Access 0 15.05.2009 17:36
Парольный доступ к некоторым сайтам Rusl92 Общие вопросы Delphi 10 01.05.2008 22:57
просмотр изображений gulfiyush Общие вопросы Delphi 9 10.12.2007 04:47
Просмотр PNG изображений dimfil Компоненты Delphi 1 05.12.2007 18:16