Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Запрет доступа к оригиналам изображений  (Read 14078 times)

0 Members and 1 Guest are viewing this topic.

question

  • Coppermine newbie
  • Offline Offline
  • Posts: 13

Всем привет! Мне нужно запретить доступ к оригиналам изображений для всех пользователей. То есть если пользователь откроет такую вот ссылку - http://coppermine-gallery.net/demo/cpg15x/albums/userpics/*/orig_*.jpg, к примеру, то возникнет ошибка 403. Каким образом можно это реализовать? Насколько я знаю что-то подобное можно делать в .htaacess. Кто может помочь? Спасибо!
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

пользователи===группы===>>>Уровень доступа

никакого
только миниатюры
миниатюры и промежуточные изображения
миниатюры, промежуточные и полноразмерные изображения
Logged
Что бы Ктулху не воскрес, подпишись на RSS

question

  • Coppermine newbie
  • Offline Offline
  • Posts: 13

Я немного неправильно выразился. Дело в том, что меня интересует запрет доступа к изображениям абсолютно для всех пользователей. Для гостей в первую очередь. Также подчеркну, что нужно закрыть доступ только к оригиналам изображений (которые без watermark, с префиксом "orig_").
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

ну так поставь всем доступ (миниатюры и промежуточные изображения) а гостым вообще оставь только миниатюры
Logged
Что бы Ктулху не воскрес, подпишись на RSS

question

  • Coppermine newbie
  • Offline Offline
  • Posts: 13

Вы не поняли. Если человек знает прямую ссылку на изображение, то ставить какие-то подобные ограничения бесполезно.
Logged

Cubatao

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 90

Да, кстати, я об этом не думал как-то до того как прочитал эту тему. А ведь дырка большая получается. Получается, что водяной знак не спасёт. Удалять оригиналы не вариант, мало ли чего. Средствами галереи (в конфигурации) это не решается, подскажите кто чего знает!
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

У моего знакомого если сайт где можно лить мп3, так вот чтобы эти мп3шки не выкладывали на других сайтах он сделал это:
Можно поковыряться и сделать что-то подобное для галереи
Code: [Select]
/* генерируем случайное число (ключ) */
$random = rand(100000, 999999);

/* пишем в базу */
$result = mysql_query("INSERT INTO `download` ( `id` , `key` , `ip` , `date` ) VALUES ('', '".$random."', '".$_SERVER["REMOTE_ADDR"]."', '".date("Gi")."')");

/* выводим ссылку на скачивание */
echo "
<a href=\"get_file.php?key=".$random."&id=".$song_id."\">Скачать</a>
";

/* выводим сообщение об особенностях работы */
echo "
<br><font size=\"1\" color=\"red\"><b>Внимание!</b></font><font size=\"1\"> Ссылка действует в течении 1 часа и только для вашего IP адреса</font>
";

далее мутим это

Code: [Select]
<?
include 'config.php';

$result = mysql_query("select * from songs where id = '$id' limit 1");
$f=mysql_fetch_array($result);

$result = mysql_query("SELECT * FROM `download` WHERE `key` = '".$_GET['key']."' AND `ip` = '".$_SERVER["REMOTE_ADDR"]."'");

if(mysql_num_rows($result) == 1)
{

   if(!file_exists($key.$f['psong']))
   {

$exp = explode('/',$f['psong']);

       $filename = $exp[1];
       $file = "download/".$filename; //путь сменить!
       $size = filesize($file);

       header("Content-Type: application/force-download");
       header("Content-Transfer-Encoding: binary");
       header("Content-Length: $size");
       header("Content-Disposition: attachment; filename=\"$filename\"");

       readfile($file);
   }
   else
   {
       header("Location: views=".$id);
   }
}

else
{
   header("Location: error.php");
}
?>
Logged
Что бы Ктулху не воскрес, подпишись на RSS

question

  • Coppermine newbie
  • Offline Offline
  • Posts: 13

http://www.htaccess.net.ru/doc/htaccess/order.php - вот этим способом можно сделать что-то такое?
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

http://www.htaccess.net.ru/doc/htaccess/order.php - вот этим способом можно сделать что-то такое?
именно этим способом врятли, но через сам .htaacess точно можно как то сделать
Logged
Что бы Ктулху не воскрес, подпишись на RSS

question

  • Coppermine newbie
  • Offline Offline
  • Posts: 13

Да. В общем те, кто разбирается в .htaacess - просьба помочь. Нужно сделать, чтобы при открытии ссылки оригинала изображения была 403 ошибка.
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Запрет доступа к оригиналам изображений
« Reply #10 on: January 23, 2011, 04:35:52 pm »

В корень папки albums положите файл .htaccess с кодом:

Code: [Select]
<FilesMatch "orig_(.*)\.(jpg|jpeg|png|bmp|gif|tiff)$|^$">
   Order allow,deny
   Deny from all
</FilesMatch>

Можно и не указывать расширения насильно:
Code: [Select]
<FilesMatch "orig_(.*)\.(.*)$|^$">
   Order allow,deny
   Deny from all
</FilesMatch>

Единственное что, если я не ошибаюсь, это, если сама галерея обращается к этим файлам по прямым ссылкам, то доступ она тоже не получит.
Но это нужно уточнять.

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
http://www.htaccess.net.ru/doc/Redirect/Redirect.php
http://dle-news.ru/tips/1164-zaschita-papok-skripta-ot-zapuska-storonnih-skriptov.html
« Last Edit: January 23, 2011, 04:41:25 pm by Makc666 »
Logged

question

  • Coppermine newbie
  • Offline Offline
  • Posts: 13
Re: Запрет доступа к оригиналам изображений
« Reply #11 on: January 23, 2011, 09:44:48 pm »

Большое спасибо за решение.
P.S. Сорри, что не по теме, скажите пожалуйста, существует ли на форуме тема, в которой можно оставить свои предложения для разработчиков скрипта?
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Запрет доступа к оригиналам изображений
« Reply #12 on: February 07, 2011, 04:16:00 pm »

Большое спасибо за решение.
Пожалуйста.

P.S. Сорри, что не по теме, скажите пожалуйста, существует ли на форуме тема, в которой можно оставить свои предложения для разработчиков скрипта?
Раздел форума:
http://forum.coppermine-gallery.net/index.php/board,7.0.html
Logged

Donfryazino

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

А можно сделать редирект, например на главную страницу галереи. И этот файлик записывать в каждую папку с оригиналами. В итоге получится, что человек хочет посмотреть прямо на оригинал, а его перекидывает на главную. Очень удобно  :)
Logged
Pages: [1]   Go Up
 

Page created in 0.046 seconds with 19 queries.