Как защитить свой сайт от копирования текста и изображений

09 июня 2014  20024  jQuery, тексты, скрипты

 

Безусловно, методы не дают 100% защиты — профессиональные копипасты знают способы извлечения нужного материала со страниц чужого сайта. Тем не менее, установка какого-либо кода заставит «плохиша» напрячься, нервничать или вовсе отказаться от суеты вокруг вашего сайта.

1. Копирование с ссылкой на источник

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

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

Пример работы скрипта

2. Блокировка правой кнопки мыши

1) Метод можно назвать гуманным — при нажатии правой кнопки мыши появится сообщение о запрете копирования (текст может быть любым). Посетитель хотя бы поймет, почему у него не работает мышь. Данный метод рассчитан на копипастов-новичков — jQuery диалоговое окно блокировки можно отключить, а текст скопировать клавишами CTRL + C.

<script type="text/javascript"
src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
 //catch the right-click context menu
 $(document).bind("contextmenu",function(e) { 
 //warning prompt - optional
 alert("Простите, но копирование запрещено.");

 //delete the default context menu
 return false;
 });
});
</script>

Пример работы скрипта

2) Код без использования jQuery — сообщения нет, отключить диалоговое окно нельзя. С изображениями тоже придется постараться. От копирования текста клавишами CTRL + C не спасает… Впечатлительные посетители-копипасты могут испугаться из-за неработоспособности мыши :-)

<body oncontextmenu="return false;">

Пример работы скрипта

3. Блокировка копирования текста

Небольшая строчка кода не позволяет скопировать текст на странице ни клавишами CTRL + C, ни с использованием контекстного меню. Правая кнопка работает, текст выделяется, но копирования не происходит. Действенная штука, жутко раздражает :-) Увы, но изображения от копирования не защищает.

<body oncopy="return false" oncut="return false" onpaste="return false">

Пример работы

 

Комментарии для сайта Cackle
наверх