Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: abadon в Dec 09, 2009, 13:58



Титла: Предотвъртяване кражба на снимки в Apache
Публикувано от: abadon в Dec 09, 2009, 13:58
Здравейте.

Искам да забраня кражбата на снимки от сайта си. Смисъл искам потребителя да може да вижда коректно снимките в сайта ми, но примерно ако се опита да въведе директно адреса на снимката тя да не му се отваря ми да му връща "forbidden". Наясно съм че щом се виждат в браузъра му няма как да се предпазя кликане с десен бутон върху снимка и запазване, но поне да не могат примерно ботове да обхождат страницата ми и да свалят наред. Преди 3-4 години бях правил подобно нещо за един от сайтовете ми, който отдавна не съществува, но съм забравил как ставаше. По памет пробвах така в .htaccess файла в главната ми директория добавих:
Цитат
SetEnvIfNoCase Referer "^http://www\.site\.com/" banimages=1
SetEnvIfNoCase Referer "^http://site\.com/" banimages=1
SetEnvIfNoCase Referer "^$" banimages=1
<FilesMatch "\.(gif|png|jpe?g)$">
  Order Allow,Deny
  Allow from env=banimages=1
</FilesMatch>

Това сработи обаче на места в сайта ми не се виждаха някой снимки или пък в галериите ми виждах миниатюрите обаче не ми зареждаха после големите снимки. Ако някой знае как се прави подобно нещо ще съм му благодарен да сподели.

Предварително благодаря!


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: laskov в Dec 09, 2009, 14:12
Според мен, няма начин да стане това. Каквото и да направиш, ще направя снимка на екрана, ще я вкарам в един графичен редактор и готово. По-полезно може би е да си сложиш "воден знак" на снимките като на достатъчно места поставиш надпис "www.abadon.bg", както гугъл-карти напр.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: ntrance в Dec 09, 2009, 14:15
Според мен, няма начин да стане това. Каквото и да направиш, ще направя снимка на екрана, ще я вкарам в един графичен редактор и готово. По-полезно може би е да си сложиш "воден знак" на снимките като на достатъчно места поставиш надпис "www.abadon.bg", както гугъл-карти напр.

http://www.honey-buney.com

Поглени , няма как да е safe. Print screen ташак работа ... там не се вижда добре

А когато вкараш дирен линк грешка ти искарва. И затова те кара на ново да ги гледаш ;) Влез и разгледай снимките , и може се опиташ да свалиш нещо


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: jivkojj в Dec 09, 2009, 14:29
Само като идея - може да затрудниш малко краденето, като най-отгоре сложиш една прозрачна картинка.

Не виждам начин как може да спреш някой, ако рече да ти краде снимка.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: abadon в Dec 09, 2009, 14:33
@laskov от този вариант ясно че не мога да се предпазя. Идеята ми е да не може някой бот да мине да обходи страницата и да ги свали накуп. А ако на някой му се занимава така както предлагаш да си цъка. Пък и както каза колегата не се виждат добре така.

@ntrance — Не разбрах какво трябва да видя на тези? Може би това
http://www.honey-buney.com/assets/img/products/large/ или това
http://www.honey-buney.com/assets/userfiles/

@jivkojj — Съгласен съм но колкото по-трудно, толкова по-малко ламери ще могат да го правят.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: ntrance в Dec 09, 2009, 14:42
правилно моя грешка
 Но като се замисля може там  да се сложи едно options - Indexes :)  просто сега ми хрумна ;)  Пак ще се затруднят .... :Д
Ако примерно сайта беше мой или  исках да направя нещо подобно като колегата по горе


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: tyuio в Dec 09, 2009, 14:46
поиграй си с .htaccess  може да ти свърши някакква работа. за да неможе да се флиза директно в папката със снимките освен това има разни скриптове които пречат да се влиза в такива папки и файлове директно и редиректват, но в никакъв сличай джава скрипт той не върши работа!  ама да ти кажа ялова ще е тая работа освен с воден знак


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: ntrance в Dec 09, 2009, 14:52
По добре си ги остави :) . Не задоволявай на хората любопитсвото  защо си спрял свалянето на pic :)


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: abadon в Dec 09, 2009, 14:55
Виждам че разговора взе да взема една друга насока от тази, която исках, за което може би съм виновен. Идеята ми на този етап не е да променям кода на сайта и тепърва да вкарвам нови неща а просто да си пред отвъртя кражбите с .htaccess файл или някаква друга конфигурация на апача. Защото това е най-бързия и лесен вариант.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: foxb в Dec 09, 2009, 15:11
от тук :http://www.javascriptkit.com/howto/htaccess10.shtml

Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ - [F]
или

Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/angryman.gif [R,L]


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: abadon в Dec 09, 2009, 15:24
Това нещо не работи при мен  >:( Не знам защо. Дали нещо не се бърка с правилата които имам към момента в .htaccess-а:
Цитат
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ navigation.php

RewriteRule .* - [E=HTTP_X_REQUESTED_WITH:%{HTTP:X-Requested-With}]

Или защото не си отварям сайта като http://www.mysite.com а го правя като http://mysite.com. Смисъл апачето автоматично ми премахва www-тата. Защото във VirtualHost конфигурацията съм писал www.mysite.com като ServerAlias.

Това правило:
Цитат
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
Как трябва да го сменя за да е без www-тата?


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: tyuio в Dec 09, 2009, 15:31
тази работа с .javascript направо я забравете може да спре някой малоумен юзър но не е нищо сериозно особенно за хора дето правят ботове за тази работа. според мен няма реален начин да спреш това освен с воден знак - щом е в нета е сваляемо ! Аз порових малко и наистина не видях работещо решение което да дава поне 50% сигурност а камули повече. Ся моожеш да спреш влизането в паката на случайни ботове или търсачки но ако някой се заеме да ги сваля, невиждам как ще го спреш. Значи воден знак и ниско качество друго не видях. Видах и едни доста странни решения ама си е пиапане в кода ако е рнр например и информацията която подаваше беше с янкакъв нереален път обаче така и не разбрах как работи. Виждал съм хора да си праскат снимките направо в базата данни като бинарита но дали така може да се протектнат незная.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: laskov в Dec 09, 2009, 16:27
Понеже не разбирам, а обичам да фантазирам ...
...При отварянето на сайта, в браузъра се зарежда едно плъгинче, на което му се подава временен код за декодиране, снимките му се подават кодирани с този временен ключ, то ги декодира и показва. Затваря се браузъра, ключът вече не е валиден, всички снимки в кеша на браузъра са кодирани, ключът за декодирането го няма никъде.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: ivanatora в Dec 09, 2009, 16:33
Най-сигурно е да използваш някаква flash галерия, понеже не знам начин да извадиш изображенията от флаша. Всичко останало базирано на Apache мисля че е заобиколимо.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: abadon в Dec 09, 2009, 17:12
@laskov Интересно решение ще го имам предвид за в бъдеще ако сайта се развие както очаквам, при следващ релийз да бъде включено.
@ivanatora Иначе флаш май е най-сигурното решение, но не съм му много фен. Или просто засега е сигурен защото не му разбирам и не съм се занимавал никога с него.

Намерих този сайт ($2) като при първия начин на генериране на .htaccess-а нещата не сработиха но при втория станаха, но пак частично. Кода е следния:
Цитат
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mysite.com(/)?.*$     [NC]

RewriteRule .*\.(gif|jpg|jpeg|bmp)$ - [F,NC]

Изводите са:
1. Сайта си работи нормално.
2. Ако в браузъра(Opera, Firefox, Chrome, Konqerror) въведа http://mysite.com/pic_dir/image.jpg получавам грешка 403 както исках.
3. Тук на check if your images can be hotlinked ($2) не виждам снимката.
4. Ако пробвам wget http://mysite.com/pic_dir/image.jpg получавам грешка 403'
5. На тест с Uget да сваля http://mysite.com/pic_dir/image.jpg успявам неясно защо  :) Някой има ли идея защо става така?


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: tyuio в Dec 09, 2009, 19:00
Понеже не разбирам, а обичам да фантазирам ...
...При отварянето на сайта, в браузъра се зарежда едно плъгинче, на което му се подава временен код за декодиране, снимките му се подават кодирани с този временен ключ, то ги декодира и показва. Затваря се браузъра, ключът вече не е валиден, всички снимки в кеша на браузъра са кодирани, ключът за декодирането го няма никъде.
това абсолютно не е решение, кой е казъл ще че се ползва браузер изобщо, нали споменах
 че баш решение за не браузерни хакове няма. Колкото до фкаша това какво решение е еко целия сайт няма да е на флаш и ако няма динамика защо ще се отежнява допълнително. Я кажи по подробно какви са снимките галерия ли е или нещо в самия интерфейс на сайта?


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: sdr в Dec 09, 2009, 19:22
5. На тест с Uget да сваля http://mysite.com/pic_dir/image.jpg успявам неясно защо  :) Някой има ли идея защо става така?

Очевидно защото угет слага хедър "реферер" на базата на който се базира "защитата". Малко по-сигурно би било с сесийни кукита ама там си трябва малко сървър сайд  ...


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: victim70 в Dec 09, 2009, 21:56
Сложи един воден знак на снимките със името на сайта - пък нека да си ги свалят - тогава ще ти правят реклама без кинти, ако ги използват.
Начин да защитиш от това нещо няма - освен със (пхп - цги -пърл) скрипт, който ти рендира картинките, които пък се теглят от ДБ - използвай дефекта като ефект.


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: VladSun в Dec 10, 2009, 01:57
Начин да защитиш от това нещо няма - освен със (пхп - цги -пърл) скрипт, който ти рендира картинките, които пък се теглят от ДБ - използвай дефекта като ефект.

// извън конеткста на темата
Чак пък DB storage - картинките извън webroot  директорията + wrapper-скрипт е доста по-просто:)


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: edmon в Dec 10, 2009, 02:11
защо тия "стоманяци" от мозила са направили ктрл+И....
и сичката медия на едно място... не ти трябва райт клик не ти триябва лефт клик
:)))))))))))))))))
:)))))))))
хихихи


Титла: Re: Предотвъртяване кражба на снимки в Apache
Публикувано от: gat3way в Dec 10, 2009, 10:24
Няма оправия, нали трябва да ги видиш в браузъра си все пак?

Криптографията по никакъв начин няма да помогне. Да речем един server-side скрипт ги криптира и един client-side javascript или плъгин за браузъра ги декриптира, единственото което постигаш е ако някой случайно слухти трафика да не може да ти декриптира картинките, защото не знае споделения ключ за декриптирането. Обаче същото постигаш ако използваш SSL, като бонуса е че е съвсем стандартно решение и че не се споделя някакъв ключ, който лесно може да се открие, понеже е различен за всяка конекция.

После, каквото и да се измисли, нищо не пречи потребителя да направи един screenshot и да си изреже картинката (примерно).

Единственото решение според мен е просто да слагаш един watermark.