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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: защита картинки от обращения напрямую

Сообщения:  [1-7] 

 
 автор: provodnik   (24.04.2007 в 13:53)   письмо автору
 
   для: vbps   (24.04.2007 в 12:59)
 

golovdinov - спасибо, воспользовался вашим советом.
vbps - приведите пример, если не сложно для примерно таких ссылок:
это генерит ф-ия: http://site.ru/image.php?imagefile=catalog/normal/1.jpg
это путь до картинок: http://site.ru/catalog/normal/1.jpg
Если не сложно...
Спасибо.

Trianon - к сожалению в этом случае образуется привязка к конкретному серверу, если я не ошибаюсь... Или можно как то указать физический путь до папки с картинками относительно корня сервера "не явно"?

Спасибо за ответы...

   
 
 автор: golovdinov   (24.04.2007 в 13:08)   письмо автору
 
   для: tuder   (24.04.2007 в 12:16)
 

Просто положить в папку с картинками .htacces с кодом:

deny from all


Кстати, рекомендую это делать для любой папки со скриптами, но не с картинками, которые вызываются из браузера типа <img src=".....

   
 
 автор: vbps   (24.04.2007 в 12:59)   письмо автору
 
   для: provodnik   (24.04.2007 в 12:06)
 

"Через Мод Реврайт" какраз будет самым идеальным решением в данном случае.

   
 
 автор: Trianon   (24.04.2007 в 12:30)   письмо автору
 
   для: provodnik   (24.04.2007 в 12:17)
 

При чем тут код?
Просто поместите картинки в каталог, находящийся за рамками document_root

   
 
 автор: provodnik   (24.04.2007 в 12:17)   письмо автору
 
   для: tuder   (24.04.2007 в 12:16)
 

Не могли бы привести примерный код?

   
 
 автор: tuder   (24.04.2007 в 12:16)   письмо автору
 
   для: provodnik   (24.04.2007 в 12:06)
 

Держать эти картинки в закрытой для доступа папке. Чтобы только скрипт мог локально её брать для обработки.

   
 
 автор: provodnik   (24.04.2007 в 12:06)   письмо автору
 
 

Использовал ф-ию, накладывающую текст поверх картинки, описанную в этой теме: http://softtime.ru/forum/read.php?id_forum=1&id_theme=787 :

<?php 
  
// В переменной $imagefile содержится имя файла с изображением 
  // Если эта переменная пуста, то останавливаем выполнение скрипта 
  
if ($imagefile == "") exit(); 
   
  
// Определяем расширение 
  // и в зависимости от него вызываем функции создания изображений из файлов 
  
$path_parts pathinfo($imagefile); 
  
$ext $path_parts["extension"]; 
  switch (
$ext
  { 
    case 
"jpg"
      
$img imagecreatefromjpeg($imagefile); 
      break; 
    case 
"gif"
      
$img imagecreatefromgif($imagefile);       
      break; 
    default: 
      echo 
"Неизвестное расширение файла"
      exit(); 
  }         
   
  
// Если изображение создано   
  
if ($img
  { 
    
// Назначаем цвет 
    
$color imagecolorallocatealpha($img0255050); 
    
// Пишем текст поверх изображения 
    
$box imagettftext($img50010150$color"arbat.ttf""Торговая марка"); 
    
// Выводим изображение в браузер 
    
switch ($ext
    { 
      case 
"jpg"
        
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_JPEG)); 
        
imagejpeg($img);       
        break; 
      case 
"gif"
        
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_GIF)); 
        
imagegif($img); 
        break; 
      default: 
        echo 
"Неизвестное расширение файла"
        exit(); 
    }             
  } 
?> 

<? 
  
// Здесь будет блок кода для получения имен файлов изображения из Вашей 
  // базы данных 
   
  // Для примера напишем так: 
  
$imagefile="1.jpg"
?> 
  <img src="image.php?imagefile=<?= $imagefile ?>">

Всё хорошо, всё работает. Но, если обратиться к картинке "мимо" скрипта, напрямую, то естественно она выводится чистая, без текста.

У ф-ии получаются примерно такие ссылки: site.ru/image.php?imagefile=catalog/normal/1.jpg
Картинки лежат примерно по такому адресу: site.ru/catalog/normal/1.jpg
Вопрос: Как можно это "искоренить"? Через Мод Реврайт я не осилил...

Спасибо за ваши ответы...

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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