Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как модифицировать скрипт для защиты от копипаста?

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


     20.11.2015    Все вопросы » Общие вопросы    2127

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

В сети нашел скрипт, который добавляет текст на источник, при копировании, выглядит скрипт вот так, кому надо - берите, работает вроде везде кроме 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
Юзер

Роман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
Юзер

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

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

Роман48
Юзер

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

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

justalex
Юзер

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

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

nowheremany
Эксперт

nowheremany - 20 ноября 2015 15:51 -

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

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

Роман48
Юзер

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

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

Westus
Юзер

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

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

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

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

наверх