Антилич

Написал небольшой скрипт, защищающий от “хотлинка” картинок. Наверное, не очень подходит для заголовка “Плагины для Wordpress”, да и ладно. В общем, можно поставить на любой сайт, хуже не будет.

Идея – очень простая. При запросе картинки с “неправильным” Referer происходит перенаправление на PHP-скрипт, добавляющий в рисунок заданную надпись. Для снижения нагрузки на сервер, созданные скриптом изображения кешируются. Время “жизни” изображения в кеше задается в скрипте, по умолчанию составляет 2 часа.

Установка скрипта проста, как три копейки. Скачиваем архив, загружаем файлы оттуда на сервер (например, в директорию watermarker) и указываем следующие параметры в файле marker.php:

$text = "shura.luberetsky.ru"; // текст, используемый как watermark
$font = "./ariblk.ttf"; // путь к используемому шрифту, по умолчанию - Arial Black
$basepath = "../"; // относительный путь от директории скрипта к "корневой" директории сайта

$cachedir = "./cache/"; // директория для кешируемых файлов, должна быть доступна для записи вебсерверу
$lifetime = "7200"; // время хранения файла в кеше в секундах

Создаем директорию для кеша, затем – добавляем правила в файл .htaccess защищаемой от хотлинка директории:

# BEGIN Luberetsky watermarker
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^.*your\.website\.ru\/ [NC]
RewriteRule (http://(.*)\.your\.website\.ru/)?(.*)\.(jpeg|gif|png|jpg)$ /marker/marker.php?img=$3.$4
# END Luberetsky watermarker

Естественно, заменяем указанные в примере данные своими.

Для корректной работы скрипта необходимо выключить кеширование статических файлов (этим любит “баловаться” nginx, уточните у хостера).

Скачать скрипт можно у меня:

http://shura.luberetsky.ru/marker/marker.zip

7 комментариев

  1. Daemony пишет:

    Пример работы скрипта где-то можно увидеть? Может у тебя в блоге?

  2. Это достойно цитатника, браво!!
    Я возьму этот скрипт себе на вооружение )

  3. DenT пишет:

    Полезная штука. Применил уже к одному из своих проектов. Очень доволен.

  4. Andrey Sorvin пишет:

    Веселят такие комментарии =)

Ответить

Или воспользуйтесь входом по OpenID: