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

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

Любые php-скрипты, модули и шаблоны, которые могут пригодиться при создании сайта.

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

Вариантов защиты множество (их вы можете найти в интернете), но я лично иногда использую только два варианта. Первый – это я прописываю внутри тега <body> вот такую команду onselectstart=»return false»

Второй вариант – это я прописываю после тега </head> вот такой скрипт:

1
2
3
4
5
6
7
8
9
<script language=Javascript1.2>
< !var message=‘Ваш текст, например КОПИРОВАТЬ ЗАПРЕЩЕНО!!!; function click(e)
{if (document.all) {if (event.button == 2) {alert(message);return false;}}
if (document.layers) {if (e.which == 3) {alert(message);return false;}}}
if (document.layers) {document.captureEvents(Event.MOUSEDOWN);}
document.onmousedown=click;
// –>
</script>

Этот скрипт запретит клик правой кнопки мыши, соответственно скопировать не получится. Но, работает этот вариант, впрочем как и первый только в браузере Internet Explorer, в Опере не работает, в других не пробовал.

Но эти два варианта все-равно не обеспечат вам полную защиту от копирования контента, во-первых потому что не все пользуются Internet Explorer’ом, большинство используют другие браузеры, а во вторых, тот кто захочет скопировать ваш текст, всегда может залезть в исходный код страницы и скопировать его оттуда. Но тем не менее лишними эти варианты тоже не будут, они не обеспечат вам полную защиту, но наверняка защитят ваш контент от тех пользователях интернета, которые не знают что такое исходный код.

Обновление 27.10.10. Поскольку на мой блог часто приходят по запросу «защита текстов от копирования«, то я решил для читателей выложить еще один скрипт, на который наткнулся как-то в интернете (к сожалению не помню на каком сайте, хорошо что сохранил скрипт сразу в блокнот). Мне лично понравился он тем, что запрещает лишь только выделение мышью, все остальные функции сайта (кнопки, выделение текста в полях форм) работают как нужно.

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
<script type="text/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))  // 'A'.charCodeAt(0) можно заменить на 65
    {
      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);
</script>

Я использовал его на другом своем сайте и скажу что скрипт работает железно в браузерах Opera, Mozilla FireFox и IE8 (проверял лично), в других браузерах не проверял, но думаю что и в них будет работать. Единственный минус — скрипт как видите, не маленький.

Буду признателен Вам если поделитесь статьей:
Получайте еще больше новой информации подписавшись на RSS-ленту!

Комментариев: (16) к "Защита контента от копирования"

Комментарии закрыты.