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

 
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1897
Суть такова, при копирование проставляется и ссылка на ваш материал скопированный. От тупого копирования и вставки цитат и кусков текста помогает. Многие просто не замечают ссылку)))
Решение не мое, но работает и успешно на многих проектах.
Вставлять между <head> и </head> .
Можно по экспериментировать со строкой var pagelink, копирайт сделать маленьким и не заметным ссылку плоскую или без тегов или вообще удалить строку и проверить, в общем возможно будет полезно.

Код PHP:
  1. <script type="text/javascript">
  2. function addLink() {
  3. var body_element = document.getElementsByTagName('body')[0];
  4. var selection;
  5. selection = window.getSelection();
  6. var pagelink = "<br /><br /> Источник: <a href='"+document.location.href+"'>© Название сайта</a>"; // Вместо © "Название сайта" ставьте что-то свое
  7. var copytext = selection + pagelink;
  8. var newdiv = document.createElement('div');
  9. newdiv.style.position='absolute';
  10. newdiv.style.left='-99999px';
  11. body_element.appendChild(newdiv);
  12. newdiv.innerHTML = copytext;
  13. selection.selectAllChildren(newdiv);
  14. window.setTimeout(function() {
  15. body_element.removeChild(newdiv);
  16. },0);
  17. }
  18. document.oncopy = addLink;
  19. </script>
Редактировалось: 1 раз (Последний: 29 августа 2012 в 11:01)
Контент для ваших проектов. Копирайт всех видов от профессионалов. Создание и продвижение сайтов, реклама.
Посетитель
small user social cms
Медаль
Сообщений: 226
Отлично, давно хотел аналогичное решение. Да, многие уберут ссыль, а многие просто не увидят. Спасибо.
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 439
Подправьте:
Название сайта/a>

Название сайта</a>
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1897
Hmelex:
Название сайта</a>
Ок. Видимо когда писал "Название сайта" захватил)))
Контент для ваших проектов. Копирайт всех видов от профессионалов. Создание и продвижение сайтов, реклама.
Посетитель
small user social cms
Медаль
Сообщений: 155
Спасибо!
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 439
Интересно насколько его можно уменьшить glasses (можно и сжать но это другое дело)...
Код PHP:
  1. <script type="text/javascript">
  2. function c()
  3. {
  4. var b = document.getElementsByTagName('body')[0]; var selection = window.getSelection();
  5. var p = "<br />Текст скопирован с "+location+" ";
  6. var ne = document.createElement(); b.appendChild(ne); ne.innerHTML = selection + p; selection.selectAllChildren(ne);
  7. window.setTimeout(function() {b.removeChild(ne);},0);
  8. }
  9. document.oncopy = c;
  10. </script>
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2537
Не робит в ие и опере.
Только фокс и хромчик, судя по коду. Ставил такое же на новостник месяц назад.
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Посетитель
no avatar
Медаль
Сообщений: 144
в опере не прет(
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 439
Да похоже работает только в хроме :(
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1897
В мазиле тоже работает. Наверно можно для ие и оперы что то дописать или объединить с уже существующими для них.

Параноидальный вариант, запрет выделения текста и правую кнопку)))
Код PHP:
  1. <script language="JavaScript">
  2. document.onselectstart=function(){return false}
  3. document.oncontextmenu=function(){return false}
  4. document.onmousedown=function(){return false}
  5. </script>

Ниже скрипт который работает во всех вроде. Запрещает копировать:

Код PHP:
  1. <script type="text/javascript">
  2.  
  3. function preventSelection(element){
  4. var preventSelection = false;
  5.  
  6. function addHandler(element, event, handler){
  7. if (element.attachEvent)
  8. element.attachEvent('on' + event, handler);
  9. else
  10. if (element.addEventListener)
  11. element.addEventListener(event, handler, false);
  12. }
  13. function removeSelection(){
  14. if (window.getSelection) { window.getSelection().removeAllRanges(); }
  15. else if (document.selection && document.selection.clear)
  16. document.selection.clear();
  17. }
  18. function killCtrlA(event){
  19. var event = event || window.event;
  20. var sender = event.target || event.srcElement;
  21.  
  22. if (sender.tagName.match(/INPUT|TEXTAREA/i))
  23. return;
  24.  
  25. var key = event.keyCode || event.which;
  26. if (event.ctrlKey && key == 'A'.charCodeAt(0)) // 'A'.charCodeAt(0) можно заменить на 65
  27. {
  28. removeSelection();
  29.  
  30. if (event.preventDefault)
  31. event.preventDefault();
  32. else
  33. event.returnValue = false;
  34. }
  35. }
  36. addHandler(element, 'mousemove', function(){
  37. if(preventSelection)
  38. removeSelection();
  39. });
  40. addHandler(element, 'mousedown', function(event){
  41. var event = event || window.event;
  42. var sender = event.target || event.srcElement;
  43. preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
  44. });
  45. addHandler(element, 'mouseup', function(){
  46. if (preventSelection)
  47. removeSelection();
  48. preventSelection = false;
  49. });
  50. addHandler(element, 'keydown', killCtrlA);
  51. addHandler(element, 'keyup', killCtrlA);
  52. }
  53.  
  54. preventSelection(document);
  55. </script>
Но все же мне кажется лучше первый допилить под кроссбраузерность или объединить.
Редактировалось: 4 раз (Последний: 29 августа 2012 в 12:38)
Контент для ваших проектов. Копирайт всех видов от профессионалов. Создание и продвижение сайтов, реклама.
Посетитель
small user social cms
Медаль
Сообщений: 187
http://habrahabr.ru/post/101763/ работает везде, на jQuery.
Посетитель
no avatar
Медаль
Сообщений: 144
prosis:
что то не прет (
Посетитель
no avatar
Медаль
Сообщений: 649
prosis:
http://habrahabr.ru/post/101763/ работает везде, на jQuery.

Глючит jQuery Инстанта и указанного скрипта.
Ваш надеждый хостинг для сайтов на InstantCMS: http://instanthosting.ru
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1180
Защиты для контента не существует.
Кто хочет скопировать, тот все равно скопирует, особенно вебмастер.
А все эти защиты только ухудшат индексацию.
На машину и квартиру я заработал тут!
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1897
Man:
Защиты для контента не существует.
Кто хочет скопировать, тот все равно скопирует, особенно вебмастер.
А все эти защиты только ухудшат индексацию.

Не ухудшают индексацию ни каким боком. Если конечно использовать ни что то мего навороченное, что и ботам будет отдаваться.
Да защиты нет 100%, но некоторую часть снимают и иногда дают плюс.

Способ только один.
Регистрировать сайт как сми, это 3-5000 руб. Заверить сайт и самые нужные материалы. Далее заверять весть поступающий или наиболее важный контент.
При обращении с такой кучей официальных документов ни один хостер не спорит и сразу принимает меры, если сам вебмастр не откликается.
Иметь соответствующий документ на сайте и выводить его либо скриптом при копировании всплывающее предупреждение или иметь ссылку под статьей на этот документ.

Но это все для действительно серьезных проектов. У которых есть кому этим заниматься.
Контент для ваших проектов. Копирайт всех видов от профессионалов. Создание и продвижение сайтов, реклама.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.