Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ограничить доступ, как сделать 
:(
    Опции темы
tigger
Дата 30.12.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: нет
Всего: 4



На сайте есть папка Image из нее берутся картинки для index.php можно ли как нибудь сделать чтобы картинки не показывались в браузере например по ссылке типа http://moisait/image/bottom.jpg


--------------------
user posted image
PM MAIL   Вверх
DioNiR
Дата 30.12.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Можно но зачем?
Если надо их всё равно скачают.

Внимательно читаем:
http://ru2.php.net/manual/ru/ref.image.php
Пример от туда:
Код
<?php
header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>

"images/button1.png" - и есть путь картинки.
Пихаешь этот код в какой нить PHP файл но не в главный.
Затем картику выводишь уже адресс её будет не /image/bottom.jpg а например image.php
--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
skyboy
Дата 30.12.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



при помощи .htaccess файла, размещенного в папке Image, можно запретить доступ через HTTP(сервер просто не будет пускать браузеры в эту папку - будет выдавать ошибку 503).
Как картинки в таком случае отдавать(очевидно, что получение <img src="/image/1.jpg" /> вернет ошибку 503) уже показал товарищ DioNiR.

Добавлено через 3 минуты и 59 секунд
Цитата(DioNiR @  30.12.2007,  08:57 Найти цитируемый пост)
уже адресс её будет не /image/bottom.jpg а например image.php 

подмену можно сделать при помощи mod_rewrite. таким образом, кстати, можно будет выводить в страницу <img src="/images/1.jpg" />, что mod_rewrite будет преобразовывать в обращение к РНР-файлу типа "image.php?id=1.jpg"
PM MAIL   Вверх
tigger
Дата 1.1.2008, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: нет
Всего: 4



Все понятно

DioNiR, а этот метод заметно уменьшит скорость загрузки страницы?


--------------------
user posted image
PM MAIL   Вверх
Staind
Дата 1.1.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: 2
Всего: 3



Цитата

DioNiR, а этот метод заметно уменьшит скорость загрузки страницы?

Конечно снизит, т.к. в данном случае работаем с библиотекой GD (но не на много). И вообще я не понимаю эту генерацию картинок и запрет по http. Не легче взять и пусть имя у картинки php генерирует типа sao4u5yt4f95e4jf.jpg, запоминаем куда-нибудь название и потом отдаем их всех скриптом? - или у вас там какая-то на картинках кондефициальная информация?
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
flashaa
Дата 1.1.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Цитата(tigger @  30.12.2007,  09:00 Найти цитируемый пост)
На сайте есть папка Image из нее берутся картинки для index.php можно ли как нибудь сделать чтобы картинки не показывались в браузере например по ссылке типа http://moisait/image/bottom.jpg 

Проще всего как по трудоемкости, так и по производительности будет сделать так:
В папке  с картинками создаем файл .htaccess со следующим содержимым:

Код

RewriteEngine On
RewriteCond %{HTTP_REFERER} !%{SERVER_NAME}/...(тут вставляем путь до твоего index.php)
RewriteRule .*\.jpg$ - [R=404]


Вкратце о том, как это работает:
Первая строка включает модуль mod_rewrite сервера apache, без него ничего работать не будет.
Наличие mod_rewrite на сервере можно увидеть с помощью ф-ции php phpinfo(); в одной из секций.
Код

<?php phpinfo(); ?>

Cтрока RewriteCond задает условие переадресации. В данной строке проверяется условие того, что "рефферер" (страница, с которой юзер перешел к файлу) НЕ является index.php - проще говоря, если картинка открыта не с твоей страницы.
Если это условие срабатывает, будет выполнено правило переадресации ниже RewriteRule ... , которое означает переадресовать все jpg картинки на страницу с ошибкой "доступ отклонен".
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.