Как защитить контент от копирования

Как защитить контент от копированияОбычно я стараюсь писать статьи на основании своего собственного опыта, а не писать о том, чего не знаю. Вот и данная статья родилась после того как с одного из моих сайтов начали копировать контент как крупные порталы так и «мелкие сошки» с посещаемостью в 10 человек в сутки.

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

Первое, что я сделал, так это проверил некоторые статьи на уникальность (через Advego Plagiatus), которые собирали больше всего трафика на сайт. Одну статью успели растянуть аж 16 сайтов и не один не удосужился хотя бы поставить ссылку на источник (т.е. на мой ресурс).

По ссылкам, которые предоставил Advego Plagiatus, я перешел на каждый сайт и нашел свой текст (на некоторых сайта он был смешан с другим контентом страницы, а на некоторых была выложена статья в чистом виде).

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

Что удивительно, что крупные порталы извинились (в обратном письме) и удалили новости с моим контентом, а вот несколько «мелких сошек» отправили мне письмо примерно следующего содержания: «Ничего я удалять не собираюсь. Ты мне все равно ничего не сделаешь».

С другой стороны оно и понятно – таким засранцам нечего терять, даже если их сайт исключат из выдачи – сделают другой ГС.

Скрипт для защиты от копирования

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

Можно вынести в отдельный файл JS, и указать путь хранения на хостинге (подробнее написал в комментарии).

<SCRIPT LANGUAGE="JavaScript">

 function preventSelection(element){
 var preventSelection = false;

 function addHandler(element, event, handler){
 if (element.attachEvent) 
 element.attachEvent('on' + event, handler);
 else 
 if (element.addEventListener) 
 element.addEventListener(event, handler, false);
 }
 function removeSelection(){
 if (window.getSelection) { window.getSelection().removeAllRanges(); }
 else if (document.selection && document.selection.clear)
 document.selection.clear();
 }
 function killCtrlA(event){
 var event = event || window.event;
 var sender = event.target || event.srcElement;
 if (sender.tagName.match(/INPUT|TEXTAREA/i))
 return;
 var key = event.keyCode || event.which;
 if (event.ctrlKey && key == 'A'.charCodeAt(0)) 
 {
 removeSelection();
 if (event.preventDefault) 
 event.preventDefault();
 else
 event.returnValue = false;
 }
 }
 addHandler(element, 'mousemove', function(){
 if(preventSelection)
 removeSelection();
 });
 addHandler(element, 'mousedown', function(event){
 var event = event || window.event;
 var sender = event.target || event.srcElement;
 preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
 });
 addHandler(element, 'mouseup', function(){
 if (preventSelection)
 removeSelection();
 preventSelection = false;
 });
 addHandler(element, 'keydown', killCtrlA);
 addHandler(element, 'keyup', killCtrlA);
 }
 preventSelection(document);
 document.ondragstart = test;
 document.onselectstart = test;
 document.oncontextmenu = test;
 function test() {
 return false
 }
 </SCRIPT>

Также, если у вас сайт на DLE, то в настройках отключите RSS, чтобы усложнить парсинг на автомате.

Понятное дело, что от профи, которые пользуются специальным софтом и клепают ГС сотнями, это не спасет, но хотя бы усложнит жизнь «новичкам».

Также вы можете применить скрипт по этому адресу http://jkeks.ru/jkeks.ru/archives/11197 или вот этому https://devaka.ru/articles/copyright.js . Там скрипт позволяет копировать текст, но при его вставке добавляет в конец ссылку на ваш сайт.

Автоматическое добавление ссылки на источник

Вот вам еще полезный скрипт, который добавляет к скопированному тексту ссылку на источник (вставьте его перед закрывающимся тегом </body> ):

<script type="text/javascript">
//<![CDATA[
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
var selection = document.getSelection();
var pagelink = "<p>Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a></p>";
var copytext = selection + pagelink;
var newdiv = document.createElement('div');
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout( function() {
body_element.removeChild(newdiv);
}, 0);
}
document.oncopy = addLink;
//]]>
</script>

Это на случай, если вы не хотите использовать предыдущий код. Использовать одновременно два — нет особого смысла.

Понравилась статья? Поделиться с друзьями:
Комментариев: 31
  1. Александр

    Спасибо за код. Из топа блогов по этому запросу, рабочий вариант только у тебя оказался! Мерси боку )))

    1. ARKSEO (автор)

      Пожалуйста. Я обычно пробую что-то сам, а потом об этом пишу в блоге, поэтому вариант и рабочий smile

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

  2. Арсен

    Благодарю за код))) хорошо работает, подключал между тегами Head) ни левая ни правая кнопка мышки не работает, ни скопировать, ни просмотреть исходный код))) интересно как поисковики относятся к этому скрипту?)

    1. ARKSEO (автор)

      Вроде нормально относятся, по сути, здесь не за что пессимизировать.

  3. Marat

    Спасибо за код!попробую поставить.огорчает одно,что у меня сайты не большие(сошка))))и в одной странице и html и сss и 5-10 рисунков.если еще добавлю этот код то наверное вес будет охре…..м.надеюсь код того стоит.Спасибо!!!

  4. Marat

    как вынести в отдельный файл JS.не разу не приходилось.Помогите пожалуйста

  5. Marat

    Разобрался.Фигня весит)))

  6. ARKSEO (автор)

    Тогда для тех, у кого может возникнуть такой же вопрос «Как вынести в отдельный файл?»

    1) Создаем файл с расширением .js, например nocopy.js;
    2) В него помещаем код из статьи, только убираем первую и последнюю строчку, то есть убираем строчку

    <SCRIPT LANGUAGE="JavaScript">

    а в конце

    </SCRIPT>

    3) Этот файл nocopy.js закидываем на хостинг;
    4) Между тегами <head></head> вставляем строчку

    <script type="text/javascript" src="путь_к_файлу_на_хостинге/nocopy.js"></script>

    (в которой прописываем путь к файлу js);

    Всё, будет работать.

  7. Urmat

    Отлично, сделал как в инструкции, работает.
    Спасибочки.

  8. Теоретик

    Скачал Advego Plagiatus с сайта Advego. Воспользоваться не удалось: при установке мой AVG-антивирус нашел в файлах проги трояна. Удалил.

    1. ARKSEO (автор)

      Я пользуюсь. У меня Касперский тоже говорит, что у проги странное поведение, но запуск разрешает.

      Антивирусы многие программы определяют как троянские. Это не значит, что ими нельзя пользоваться. Например, любой кряк антивирус будет определять как троян.

  9. Валентина

    Спасибо за код. А я ищу скрипт который ничего не запрещает. После того как похититель вставит скопированную информацию на свой сайт, в конце скопированного текста появиться ссылка на мою статью с подписью о том что я являюсь первоисточником. Нет у Вас такого скрипта?

    1. ARKSEO (автор)

      Вот вам ссылка http://habrahabr.ru/post/101763/ на подобный скрипт.

      Дополнение от 24.05.2015: добавил еще в конце статьи две ссылки на подобные скрипты.

  10. Юрий

    А вот например если нужно запретить копирование не весь текст на странице а только например текст в отдельном Этот текст не копировать как быть в такой ситуации?

  11. Ирина

    Огромное, спасибо! Давно искала рабочий скрипт.

  12. w

    Скрипт липовый с присутствием синтаксических ошибок!

    1. ARKSEO (автор)

      Обоснуйте!
      У меня отлично работает на нескольких сайтах.

  13. макс

    Все работает, но у меня возник вопрос, а как сделать отмену в одном месте, где пользователь может скопировать нужную ему ссылку или просто кусочек текста, который ему разрешено? И есть функция сонтрол а и в коде можно посмотреть

    1. ARKSEO (автор)

      Думаю надо вносить правки в скрипт, добавив туда исключения для элементов с нужным id. Как его исправить под ваши нужды я не в курсе.

      1. макс

        а я нашел офигенный вариант — кнопочка поделиться

  14. Владимир

    Спасибо Вам большое за интересную статью, и полезный скрипт.
    Всё по делу, подробно и понятно!
    Отдельное спасибо за такой интересный сайт. smile

    С уважением, Владимир.

  15. Николай

    Работает. Все отлично

  16. Михаил

    Спасибо. А то стал жертвой воров. Рейтинг сайта резко упал. Был оригинален, а ту на тебе, кто-то скопировал и все. Страничка сайта потеряла оригинальность.

  17. Алексей

    Спасибо огромное за код реально упростит немного жизнь)) Жаль нельзя к твоему сайту прибавить +1 к повышению в ПС pardon Но статья супер! Спасибо, будем ждать еще чего-нибудь интересненького)

  18. Виктор

    Скрипт на ура работает. Жаль не сразу нашёл. Поисковики отправляют не туда, куда действительно нужно))) СПАСИБО, Аркадий!!!

  19. олег

    Примного благодарен! Вставляемая ссылка на первоисточник работает на ура!

  20. Анатолий

    smile Спасибо ARKSEO

  21. Иван

    Автору Спасибо) годный скрипт. устал править другие. при использовании выдавались ошибки граб недавал отладку провести) теперь хоть можно незаморачиваться.) был бы рад сотрудничеством)

  22. Игорь

    СПАСИБО ПЕРВЫЙ СКРИПТ ПОМОГ ОБОЛДЕННО БЛАГОДАРЮ ТЕБЯ МОЙ ДРУГ КОПИРОВКА НЕ РАБОТАЕТ)

  23. Jula

    Спасибо. А могут ли скрипты как-то влиять на индексирование?

    1. ARKSEO (автор)

      Эти не могут.

Добавить комментарий