Варианты запрета копирования текста на страницах
Существует несколько способов запрета от копирования текстов. Но 100%-го варианта конечно же нет, т.к. тот кто хочет скопировать - тот скопирует. Я же попробую попробую собрать все способы в один пост.
- Запрет выделения текста с помощью CSS
body{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
Таким образом можно любому классу поставить запрет выделения текста в браузере. - Запрет правой кнопки мыши
<body onmousedown="mouseDown(this)" onmouseup="mouseUp(this)">
- Запрет копирования текста в буфер обмена
<body oncopy="return false">
- Запрет выделения текста
<body onselectstart="return false">
- Запрет использования правой кнопки мыши
<body oncontextmenu="return false">
- Замена символов на латиницу с помощью JS
<script type="text/javascript"> function addTrans() { var d = document.getElementsByTagName('body')[0]; var e = window.getSelection(); var c = e + ""; var f = "С с Е е Т О о р Р А а Н К Х х В М y З 3".split(/ +/g); var g = "C c E e T O o p P A a H K X x B M у 3 З".split(/ +/g); var b; for (var b = 0; b < f.length; b++) { c = c.split(f[b]).join(g[b]) } var a = document.createElement('div'); a.style.position = 'absolute'; a.style.left = '-99999px'; d.appendChild(a); a.innerHTML = c; e.selectAllChildren(a); window.setTimeout(function () { d.removeChild(a) }, 0) } document.oncopy = addTrans; </script>
минимизированный код:<script type="text/javascript">function addTrans(){var d=document.getElementsByTagName('body')[0];var e=window.getSelection();var c=e+"";var f="С с Е е Т О о р Р А а Н К Х х В М y З 3".split(/ +/g);var g="C c E e T O o p P A a H K X x B M у 3 З".split(/ +/g);var b;for(var b=0;b<f.length;b++){c=c.split(f[b]).join(g[b])}var a=document.createElement('div');a.style.position='absolute';a.style.left='-99999px';d.appendChild(a);a.innerHTML=c;e.selectAllChildren(a);window.setTimeout(function(){d.removeChild(a)},0)}document.oncopy=addTrans;</script>
Данный скрипт необходимо вставить перед закрывающим тегом /body.
В переменные f (русские буквы) и g (написание латынью) можно дополнительно вставить другие символы для замены - при крайней необходимости, так как известный список английских букв похожих на русские выглядит следующим образом:C c E e T O o p P A a H K X x B M у З
Маленькое пояснение к цифре 3 и букве З. Если в тексте встречается буква З - меняем ее на цифру 3. Если встречается цифра 3 - меняет на букву З. Заменив таким набором русские буквы, практически весь текст (после копирования с вашего сайта) приходит в негодность. - Запрет клавиатурных функций. Ctrl+A, Ctrl+U, Ctrl+C и отказ правой кнопки мыши
function noselect() {return false;} document.onmousedown = noselect; document.oncontextmenu = noselect; document.oncopy = noselect; function addHandler(event, handler){ if (document.attachEvent) { document.attachEvent('on' + event, handler); } else if (document.addEventListener) { document.addEventListener(event, handler, false); } } function killSelection(){ if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection && document.selection.clear) { document.selection.clear(); } } function noSelectionEvent(event) { var event = event || window.event; var key = event.keyCode || event.which; if (event.ctrlKey && (key == 65 || key == 85)) { killSelection(); if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } return false; } } addHandler('keydown', noSelectionEvent); addHandler('keyup', noSelectionEvent); //запрет показа сайта во фрейме if (window.parent.frames.length > 0) { window.stop(); window.parent.location = "https://byroot.ru/104-varianty-zapreta-kopirovaniya-teksta-na-stranicah.html"; } <!-- document.write("<a href='http://byroot.ru/'><\/a>") //-->