Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как модифицировать скрипт для защиты от копипаста?

Как модифицировать скрипт для защиты от копипаста?


     20.11.2015    Общие вопросы    697

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

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


<script>
    document.oncopy = function () {
      var bodyElement = document.body;
      var selection = getSelection();
      var href = document.location.href;
      var copyright = "<br>Источник: example.com";
      var text = selection + copyright;
      var divElement = document.createElement('div');
      divElement.style.position = 'absolute';
      divElement.style.left = '-99999px';
      divElement.innerHTML = text;
      bodyElement.appendChild(divElement);
      selection.selectAllChildren(divElement);
      setTimeout(function() {
        bodyElement.removeChild(divElement);
      }, 0);
    };
  </script>


Но я хочу усложнить процесс копирования текста, модификацией этого скрипта, и вот именно как:

Сейчас "Источник: example.com" добавляется после текста

Вопрос: Как сделать чтобы "Источник: example.com" добавлялся после первой или второй фразы, которая заканчивается точкой "."

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

Помогите модифицировать скрипт.

Ответа пока нет


Комментарии пользователей (7)

Роман48
27

Роман48 - 20 ноября 2015 15:03 - Юзер

поставь этот.с ним не скопируешь,только если в исходной код открыть и от туда копировать..
<!--Защита контента-->
<div align="center"><noscript>
   <div style="position:fixed; top:0px; left:0px; z-index:3000; height:100%; width:100%; background-color:#FFFFFF">
   <div style="font-family: Tahoma; font-size: 14px; background-color:#FFF000; padding: 10pt;">Пожалуйста включите javascript и обновите страницу</div></div>
</noscript></div>

<script type="text/javascript">
function disableSelection(e){if(typeof e.onselectstart!="undefined")e.onselectstart=function(){return false};else if(typeof e.style.MozUserSelect!="undefined")e.style.MozUserSelect="none";else e.onmousedown=function(){return false};e.style.cursor="default"}window.onload=function(){disableSelection(document.body)}
</script>

<script type="text/javascript">
document.oncontextmenu=function(e){var t=e||window.event;var n=t.target||t.srcElement;if(n.nodeName!="A")return false}
</script>

<style type="text/css">
* : (input, textarea) {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
}
</style>

<style type="text/css">
img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
}
</style>

<script type="text/javascript">
window.addEventListener("keydown",function(e){if(e.ctrlKey&&(e.which==65||e.which==66||e.which==67||e.which==73||e.which==80||e.which==83||e.which==85||e.which==86)){e.preventDefault()}});document.keypress=function(e){if(e.ctrlKey&&(e.which==65||e.which==66||e.which==67||e.which==73||e.which==80||e.which==83||e.which==85||e.which==86)){}return false}
</script>

<script type="text/javascript">
document.onkeydown=function(e){e=e||window.event;if(e.keyCode==123||e.keyCode==18){return false}}
</script>
<!--Защита контента-->

justalex
16 | 2

justalex - 20 ноября 2015 15:12 - Юзер

Роман48 Спасибо, но я так понял он полностью запрещает копирование, мне это не совсем подходит, потому что те кто этим занимается, могут без проблем обойти подобные запреты, моя цель сделать копирование более трудозатратным, на примере моего вопроса

Роман48
27

Роман48 - 20 ноября 2015 15:23 - Юзер

это осложнит задачу. каждый раз придется подставлять такую ссылку view-source: чтоб открыть исходной код.кнопка отключена правая.раньше можно было например в хроме (дополнительные инструменты ,исходной код) сейчас этого нет.

justalex
16 | 2

justalex - 20 ноября 2015 15:34 - Юзер

Но так же осложнит задачу для обычных посетителей, которые копируют без злого умысла, например, поделится на форуме со ссылкой на страницу, о них тоже хотелось бы подумать

nowheremany
192

1659 | 1292

nowheremany - 20 ноября 2015 15:51 - Эксперт

Единственным способом защиты от копипаста - это заменить текст на изображение (через канву)
Вроде бы в какой-то читалке реализовано такое

Благодарность принимаю тут Связь

Роман48
27

Роман48 - 20 ноября 2015 15:53 - Юзер

но ссылкой можно и так поделится.у меня неделю назад стоял <div oncopy="return false;"> </div> скопировать тоже не получится.потом добавил фильм в индекс в яндексе попадает через 5 минут иногда 10 минут.перед этим добавил текст в яндекс вебмастер.на следующий день у меня его скопировали текст.и тот кто скопировал был выше меня в поиске яндекса.но как выше по ключевым словам не знаю,но если скопировать кусок текста и в поиск то его сайт первый.я написал в яндекс платону так и так почему такая не справедливость,мне ответили,мы не разбираемся чей текст,можешь подать в суд,но ваши примеры мы передали в отдел разработки. и после этого я этот скрипт поставил.

Westus
4

189 | 28

Westus - 1 декабря 2015 00:39 - Юзер

Скрипт это не совсем хорошее решение. Его выполнение можно попросту заблокировать.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы