система онлайн-бронирования
г. Донецк, Украина, ул. Артёма, 87
+38 (062) 332 33 32, 332-27-71
ЗАБРОНИРОВАТЬ
НОМЕР

Статьи

Watermark - універсальний метод захисту фотографій і зображень

Продовжуємо розповідати про невеликі модифікаціях, хаках, скриптах і "корисності" для CMS Joomla. Від хаков, які прибирають авторські права в деяких компонентах, переходимо до захисту своєї інформації на сайті.

В даному випадку ми будемо говорити про захист зображень (фотографій) на сайті - це особливо актуально для сайтів виробничих підприємств, коли продукція безпосередньо фотографується і розміщується на сайті, або новинних порталів В даному випадку ми будемо говорити про захист зображень (фотографій) на сайті - це особливо актуально для сайтів виробничих підприємств, коли продукція безпосередньо фотографується і розміщується на сайті, або новинних порталів. До речі цей метод підходить не тільки для Joomla, але є універсальним, тобто може бути застосований на будь-якому інтернет-проект. саме тому я вважаю його найкращим з існуючих рішень, в тому числі і для Джумла, в тому числі і для будь-яких сторонніх компонентів. Як говорилося вже Вище скрипт (навіть не скрипт а, метод), про який йде мова, може використовуватися для захисту графічної інформації на будь-якому сайті, на будь-який CMS будь то Joomla, Drupal або WP (WordPress). Що нам буде потрібно? Так в принципі нічого! Але давайте розкладемо все поетапам, що б було зрозуміло, та й другого заголовка на странцу немає, а в SEO без цього не можна :)).

Перше. Створюємо файлик watermark.php наступного змісту і зберігаємо в папку watermark.

watermark.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 <? // seotool.by - Просування в Білорусі waterMark ($ _SERVER [ 'DOCUMENT_ROOT']. $ _ SERVER [ 'REQUEST_URI'],
"Watermark.png", "bottom = 5, right = 5"); function waterMark ($ original, $ watermark, $ placement =
'Bottom = 5, right = 5', $ destination = null) {$ original = urldecode ($ original); $ Info_o = @getImageSize ($ original); if (! $ info_o) return false; $ Info_w = @getImageSize ($ watermark); if (! $ info_w) return false; list ($ vertical, $ horizontal) = split ( ',', $ placement, 2); list ($ vertical, $ sy) = split ( '=', trim ($ vertical), 2); list ($ horizontal, $ sx) = split ( '=', trim ($ horizontal), 2); switch (trim ($ vertical)) {case 'bottom': $ y = $ info_o [1] - $ info_w [1] - (int) $ sy; break; case 'middle': $ y = ceil ($ info_o [1] / 2) - ceil ($ info_w [1] / 2) + (int) $ sy; break; default: $ y = (int) $ sy; break; } Switch (trim ($ horizontal)) {case 'right': $ x = $ info_o [0] - $ info_w [0] - (int) $ sx; break; case 'center': $ x = ceil ($ info_o [0] / 2) - ceil ($ info_w [0] / 2) + (int) $ sx; break; default: $ x = (int) $ sx; break; } Header ( "Content-Type:". $ Info_o [ 'mime']); $ Original = @imageCreateFromString (file_get_contents ($ original)); $ Watermark = @imageCreateFromString (file_get_contents ($ watermark)); $ Out = imageCreateTrueColor ($ info_o [0], $ info_o [1]); imageCopy ($ out, $ original, 0, 0, 0, 0, $ info_o [0], $ info_o [1]); // Тут задаємо розмір зображення в які можна додавати Watermark // $ info_o [0]> 250 - ширина зображення повинна бути більше 250 px // $ info_o [1]> 250 - висота зображення повинна бути більше 250 px if (($ info_o [0]> 250) && ($ info_o [1]> 250)) {imageCopy ($ out, $ watermark, $ x, $ y, 0, 0, $ info_w [0], $ info_w [1]); } Switch ($ info_o [2]) {case 1: imageGIF ($ out); break; case 2: imageJPEG ($ out); break; case 3: imagePNG ($ out); break; } ImageDestroy ($ out); imageDestroy ($ original); imageDestroy ($ watermark); return true; }?>

Друге. В цю ж папку (про watermark) створюємо і поміщаємо файл watermark.png.

Третє. Створюємо файл .htaccess з наступним змістом:

Вміст .htaccess 1 2 3 4 5 6 DirectoryIndex index.php <FilesMatch "\. (Gif | jpg | png) $"> RewriteEngine On RewriteCond% {REQUEST_FILENAME} -f RewriteRule ^ (. *) $ /Watermark/watermark.php [T = application / x-httpd-php, L, QSA] </ FilesMatch>

У нас все готово. Тепер ь заходимо на свій улюблений і вже майже захищений від крадіжки зображень сайт і копіюємо в корінь папку watermark з вмістом у вигляді 2-ух файлів watermark.php і watermark.png. Файлик же .htaccess в усі папки, де знаходяться зображення (фотографії), які потрібно захистити водяним знаком. От і все. Хвилини 2 роботи. Ну а кому взагалі лінь цим займатися, то пропоную завантажити архів з уже готовими файлами Watermark .

ЗИ (він же PS): На деяких хостингах, і з застосуванням деяких двигунів через "реврайта" можуть виникнути "гальма". Ну тоді нічого не поробиш, шукайте і вирішуйте проблему по іншому, хоча не на одному моєму сайті гальм в зв'язку з роботою даного скрипта не виникло. Побачити в дії скрипт можна поглянувши на зображення в верху матеріалу (правий нижній кут).


Що нам буде потрібно?

Новости

Отель «Централь» Официальный сайт 83001, Украина, г. Донецк, ул. Артема, 87
Тел.: +38 062 332-33-32, 332-27-71
[email protected]
TravelLine: Аналитика


Студия web-дизайна Stoff.in © 2008