G|Translate: English EN Deutsch DE Italiano IT Русский RU Español ES Українська UK

Защита текста и картинок от копирования

5/5 - (1 голос)

Как защитить свой блог (картинки и текст) от копирования?

Защита текста и картинок от копирования

В общем случае – никак :( 

Всё, что Вы видите в своем браузере – оно уже есть на Вашем компьютере. Но можно сильно усложнить сам процесс копирования для любителей copy-paste.

Итак, основные направления:

  • запрет выделения текста мышью и дальнейшее copy-paste
  • запрет хотлингов (т.е. показывать картинки с Вашего сайта на другом домене)
  • защита картинок через “водяной знак” (он же Watermark)
  • запрет парсинга страницы сайта с другого домена

 

Запрет выделения текста мышью (запрет копирования)

Казалось бы самый простой вариант – заблокировать правую кнопку мыши. Но это не есть хорошо. Часть посетителей пользуется ей для нажатия на ссылку “открыть в новом окне”. Запрет “в лоб” правой клавиши мыши приведет к потери посещаемости сайта. 

На самом деле нам надо:

  • заблокировать выделение текста
  • заблокировать “горячие” клавиши типа Ctrl-U (показ исходного кода страницы), Ctrl-C и Ctrl-V
  • оставить работу правой клавиши мыши на ссылках

 

Используем плагин WP-CopyProtect [Protect your blog posts]

Защита текста и картинок от копирования

Плагин позволяет защитить контент блога от выделения и копирования, настройки очень простые

Защита текста и картинок от копирования

Разрешаем частичное копирование

Вероятно, потребуется разрешить частичное копирование информации с Вашего сайта.

Как на примере ниже.

Этот текст можно скопировать в буфер :)
Этот текст можно скопировать в буфер :)
Этот текст можно скопировать в буфер :)
Этот текст можно скопировать в буфер :)

Такой вариант можно сделать с использованием тэгов <pre></pre>

Используем плагин Copy Anything to Clipboard

Защита текста и картинок от копирования

По умолчанию, плагин позволяет скопировать в буфер информацию между тэгами <pre></pre>, настройки можно изменить.

Защита текста и картинок от копирования

Также можно настроить отображение и название кнопки “Copy”

Защита текста и картинок от копирования

Запрет хотлингов, они же hotlinking

Веб отличается от MicroSoft Word. Если скопировать себе содержимое чужого сайта – текст да, скопируется, а вот картинка будет по прежнему показываться именно с Вашего сайта. Т.е. любитель copy-paste помимо воровства контента оставляет нагрузку на Ваш сервер.

Необходимо запретить своему серверу отдавать картинки при запросе с чужого домена. Но необходимо это делать аккуратно, не забыть про поисковых роботов – иначе Ваши картинки не будут видны в поиске картинок. 

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

а) связка серверов Nginx+PHP-FPM (Апач вообще не участвует), связка Nginx+Apace+PHP (Апач есть, но он не участвует в раздаче статики)

ВАЖНО: на 99% хостингов на входе будет Nginx

Если на входе стоит Nginx, то не важно, что там делается для статики (картинки, стили, скрипты) в .htaccess – запрос до Apache (и, соответственно, до обработки правил в .htaccess) не дойдет никогда. Для этого Nginx на входе и ставят.

Hotlink protection на Nginx делается легко с помощью всего лишь одного правила для вашего виртуального хоста.

Вот вариант.

   # Предотвращаем загрузку изображений за исключением файла заглушки badreferer.png  
   # Вместо любого запрошенного изображения вставляем заглушку badreferer.png
   # Для сайтов с реферером server1 и server2 разрешаем хотлинки

   location ~* ^.+\.(jpg|jpeg|gif|png)$ {
     root /path/to/root;
     valid_referers none blocked server_names ~\.server1\. ~\.server2\.;
     if ($invalid_referer) {
       rewrite ^ /badreferer.png last;
     }
   }

   location /badreferer.png {
     root /path/to/badreferer;
   }

в) На нормальных хостингах блокировку загрузки картинок можно сделать через панель управления ePanel

Вот ссылка на инструкцию к ePanel.

б) Сервер Apache без NginX – через настройку файла .htaccess

ВАЖНО: практически не осталось хостеров, которые используют только Apache

Пример

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]

Во второй строке задается разрешенный реферер – т.е. сайт (Ваш домен), который имеет право ссылаться на ваши изображения. Для разрешения хотлинкинка для нескольких сайтов, просто скопируйте эту строку и вставьте ее, изменив значение для реферера.

Или вот так, с заглушкой

   # Предотвращаем загрузку изображений с хоста www.server.com, 
   # за исключением файла баннера banner.jpg и файла заглушки
   # null.gif  
   # Вместо любого запрошенного изображения вставляем заглушку
   # null.gif размером в несколько килобайт, находящуюся по адресу
   # http://www.server.com/images/null.gif
 
   RewriteCond %{HTTP_REFERER} !^$
   RewriteCond %{HTTP_REFERER} !^http://(.+\.)?server\.ru/ [NC]
   RewriteCond %{REQUEST_URI} !null\.gif$ [NC]
   RewriteRule \.(jpg|jpeg|gif|bmp|png)$ http://server.ru/images/null.gif [L]

Есть онлайн-генератор для файла .htaccess

Защита картинок через “водяной знак”

Watermark, он же “водяной знак” – посмотрим на два основных варианта.

Для логотипа – т.е. накладывается Ваша картинка на существующую картинку

или 

Для надписи, например url Вашего сайта

Хороший плагин – Signature Watermark – может оба варианта

Защита текста и картинок от копирования

Настройки плагина, выбираем тип:

  • текст и картинка
  • только текст
  • только картинка

Защита текста и картинок от копирования

Например, при выборе текста – появляется дополнительная вкладка с параметрами. Да, центровку выбрать в бесплатной версии нельзя – только в платном варианте.

Защита текста и картинок от копирования

Вот такой симпатичный “водяной знак” получается на примете тестовой картинки.

Защита текста и картинок от копирования

Защита от парсинга сайта

Парсинг – простая вещь, средствами PHP открывается нужный URL и в файл сохраняется весь код сайта для последующего анализа. Самый простой пример – получение title, который хранится между определенными заголовками.

Вот что-то типа этого, команда file() закачивает весь код страницы в переменную, потом там ищем тэги <title> и получаем заголовок страницы в виде текстовой переменной.

$f=join('', file($backurl));
$begin=strpos(strtolower($f), "<title>", 0);
$end=strpos(strtolower($f), '</title>', $begin);
$backtitle=substr($f, $begin, $end-$begin);
$backtitle = strip_tags($backtitle);

В принципе, роботы Яндекс и Google делают тоже самое при обходе сайтов, только анализируют всю страницу:)

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

Можно защитится частично, т.к. запрос к url от браузера и запрос через функцию PHP отличаются. Но для PHP есть расширение, которое полностью эмулирует запрос браузера – и защита становится бессмысленной. 

 

 

Подпишитесь в VKontakte - нажмите кнопку
Подпишитесь в Telegram - нажмите кнопку
Наша группа ODNOKLASSNIKI

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла




Пишите на электронную почту (тема и email будут добавлены автоматически в письмо)

В Вашем браузере должна быть настроена обработка ссылок mailto

site_post@bk.ru

или просто скопируйте адрес e-mail



Почитать в разделе

Защита WP

CMS WordPress является достаточно популярной платформой для ведения блогов и создания сайтов. Это же автоматически подразумевает большое количество желающих использовать Ваш сайт для своих целей: перехват и перепродажа трафика (т.е. пользователь пришел на Ваш сайт и редиректом ушел на целевой сайт хакера) размещение рекламных ссылок создание бота на Вашем сервере/сайте (будет использоваться как минимум для подбора паролей на чужих сайтах) отправка спама (да, у WordPress есть свой почтовый сервер) добавление к Вашему сайту рекламных страниц (достаточно дописать в базу MySql) Самое обидное - что сайт живет после взлома не более 6 мес. Поисковые роботы находят всё это...
(Читать полностью...)

  • Всего статей в разделе: 12
  • Показано статей в списке: 11
  • Сортировка: название по алфавиту

Бан хакеров по IP для WordPress

Нехороших хакеров можно и нужно банить по IP - т.е. не пускаем пакеты с отдельных IP в обработку. Но есть ряд проблем: часть IP (с которых идет атака) принадлежат не хакерам, а вполне обычным пользователям, которые наловили вирусов на свой ПК (и теперь он работает на другого хозяина) с учетом ежедневной смены IP провайдером у большей части обычных пользователей - через сутки конкретный IP станет не опасным есть упрямые хакеры, которые работают с постоянного IP еще есть "умники", которые пытаются запустить разные php-скрипты в адресной строке браузера (в основном получают, конечно, код 404) есть принципиально разные блокировки IP на уровне CMS WordPress на уровне...
(Читать полностью...)

Блокируем ботов-подборщиков через fail2ban

80% всех атак ботов на WordPress идут на вход в административную панель. Наша задача - такие IP отправить в бан. Используем плагин WP fail2ban. Плагин делает важную  вещь — он выводит в лог /var/log/auth.log (это один из системных логов Linux) каждую попытку авторизации на сайте (настройками можно изменить). Т.е. не создается дополнительный лог-файл - а идет запись в один общий системный лог Linux. Это удобно, если у Вас несколько сайтов на VPS, всё ошибки входа по всем сайтам будут записываться в один общий файл. И не нужно дополнительно под каждый сайт настраивать WP fail2ban:) ВАЖНО: можно вообще "спрятать" админку от злых ботов Меняем адрес административной панели...
(Читать полностью...)

Варианты основных хакерских атак на Ваш сайт

Зачем защищать небольшой сайт? "У меня маленький сайт-блог, зачем мне его защищать и от кого?" Немного печальной статистики. Скажем так, сейчас в 50% на Вашем сайте пасутся боты, а не живые люди.  Вот классический пример работы ботнета - с разных IP (зараженные ПК пользователей) идет подбор пароля к логину Administrator - аккуратно, с интервалом в 5-10 минут. Успехов тебе,  железяка :) Всё, что видит ботнет со своей стороны - после однократного ввода логина/пароля форма входа исчезает...  Как видно на картинке выше - атака перебором идет с разных IP (разные заражённые ПК), которые через небольшой интервал времени меняются. Т.е. необходимо запоминать (с помощью плагина) IP,...
(Читать полностью...)

Двухфакторная аутентификация WordPress

Включаем двухфакторную аутентификацию WordPress - т.е. логин + пароль для входа + еще дополнительный код/пароль. Защита паролем сервера Апач Общая структура папки Вашего сайта на WordPress (на сервере хостинга) следующая Сайт сайт запускается файлом index.php в корневой папке. Административная панель запускается файлом index.php в папке wp-admin Существует два варианта входа в систему управления сайтом: через браузер в административную панель вход или site.ru/wp-admin (тут расположена сама панель управления) или site.ru/wp-login.php (проверка логина/пароля) через мобильное приложение (Android / iOS), см. ниже - указываем логин/пароль и сайт (уже без "хвостика"...
(Читать полностью...)

Закрываем папки и файлы WordPress с помощью Apache

Используем web-сервер Apache для блокировки доступа извне ВАЖНО: всё нижеперечисленное будет работать, если Вы конечно, используете сервер Apache. Если Вы используете связку NginX и  PHP-FPM (сервера Apache тут нет!) все эти инструкции работать не будут! Сервер Apache не участвует в обработке запросов! Закроем файл wp-login.php Мы можем спрятать вход в административную панель. И ввод логина/пароля не будет уже использовать напрямую файл wp-login.php. Но сам файл wp-login.php конечно продолжает существовать и работать, просто теперь WordPress при его запросе показывает ошибку 404. Но как мы помним, ботнетов много - и они по прежнему будут загружать Ваш сервер PHP на обработку...
(Читать полностью...)

Защита базы данных сайта MySql

База данных на сервере хостинга - основное место, где хранятся "детальки" (текстовые данные в основном) от Вашего сайта. Если туда что-либо записать лишнего - то движок WordPress это и покажет = и это уже будет не Ваш сайт :( Зачем нужна вообще какая-то база для сайта? Читаем статью База MySql Прямая атака на базу MySql По умолчанию, при установке WordPress создает в базе таблицы с префиксом wp_. Злоумышленники об этом знают. Необходимо либо при установке выбрать другой префикс вида mysite_ (WordPress спросит при установке, не более 6-ти латинских букв), либо поменять его у готового сайта. Зачем это нужно? Ну вот пример - мы при установке указали другой префикс вида xxx_...
(Читать полностью...)

Как сбросить пароль администратора WordPress

Потеряли пароль от админики WordPress? Что делать? Не всё так плохо :) Используем средство восстановления пароля WordPress При входе Вводим свой email Получаем на свою почту служебную ссылку, заходим, меняем пароль. Всё стандартно. Используем нашу базу MySql для смены пароля Да, в ней хранится информация о пользователях, их паролях и прочая полезная информация. Для прямого подключения к базе используем phpMyAdmin (параметры входа у Вас должны быть от Вашего хостера). Вот база данных и таблица wp_users Хакеры, не мучайтесь, все критичные данные замазаны, Administrator - это ник, а не логин :) Пароль пользователя в базе хранится в зашифрованном виде. Делаем Sql-запрос...
(Читать полностью...)

Как скрыть логин автора поста

При отображении записи WordPress выводит автора поста. Как отключить вывод автора поста/записи? Если ничего не  делать - то любой желающий сможет увидеть логин входа в систему и ему останется только подбирать пароль. И да -  WordPress в стандартной установке еще и подтверждает правильность логина. И вот тут нас поджидает проблема. Вывод автора поста делает не сам движок WP - это зависит от применяемой темы. В каких-то темах автор выводится, в каких-то темах автор не выводится, в каких-то настраивается. Есть специальный плагин - но он работает не на всех темах (именно по этой причине, что в разных темах сделано иногда по разному). Итак, что мы можем сделать. Плагин Show/Hide...
(Читать полностью...)

Как скрыть логин пользователя WordPress

Посмотрим статистику. Для начала устанавливаем плагин Activity Log (логгирование действий пользователей), активируем И видим следующие картину Кто все эти люди и откуда они знают мой логин? Это не люди мучают клавиатуру с ручным подбором паролей, это боты (зараженные компьютеры). Точнее даже не компьютеры, а устройства типа микроволновки и холодильника. Сейчас везде производители ставят процессоры и выход в интернет, на таких устройствах практически нет никакой защиты, их взламывают и они вливаются в ряды ботов. Еще есть «банды умных лампочек» – smart-лампы с управлением со смартафона через Wi-Fi. Тоже хорошо взламываются и начинают работать на чужих дядей. WordPress достаточно...
(Читать полностью...)

Переводим сайт WordPress на https

Будем переводить сайт на защищенный протокол HTTPS ВАЖНО: Это именно зашифрованная передача данных от сервера до конечного посетителя, а не показатель безопасности сайта! Сайт может быть взломан, сайт сам по себе может быть сделан мошенниками и прочее - и при этом сайт будет работать по защищенному протоколу https и иметь "зеленый замочек". Поэтому сейчас зеленый цвет замочка остался только в Opera, остальные браузеры показывают его серым цветом. Переводим на HTTPS Читаем основную статью Как включить HTTPS на сайте? Для работы HTTPS нам нужно несколько базовых вещей: нужно получить сертификат SSL (браузер как-то должен проверить валидность ключа для...
(Читать полностью...)

Плагины для архивирования и переноса сайта

Лучшая безопасность для сайта - это делать backup сайта. И регулярно. Даже если враги всё сломали (а там почти 3000 файлов PHP в движке) - всё удаляем из папки WWW на сервере (именно ВСЁ - включая файлы движка WordPress) и восстанавливаем из бэкапа как было. Что такое архивация сайтов? Backup сайта это копирование баз данных, файлов сайта, почты, FTP-аккаунтов и множества других "деталек" на Вашем хостинге. Сайт у нас состоит собственно из нескольких частей: набор файлов (файлы PHP движка и картинки) база данных MySQL, в которой хранится текстовая часть сайта, меню и все взаимосвязи между модулями Не обязательно, кстати,  именно PHP - для разработки сайта может быть...
(Читать полностью...)