Блог byroot
Авторизация

Варианты запрета копирования текста на страницах

Варианты запрета копирования текста на страницах
Существует несколько способов запрета от копирования текстов. Но 100%-го варианта конечно же нет, т.к. тот кто хочет скопировать - тот скопирует. Я же попробую попробую собрать все способы в один пост.

  1. Запрет выделения текста с помощью CSS
    body{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}

    Таким образом можно любому классу поставить запрет выделения текста в браузере.
  2. Запрет правой кнопки мыши
    <body onmousedown="mouseDown(this)" onmouseup="mouseUp(this)">

  3. Запрет копирования текста в буфер обмена
    <body oncopy="return false">

  4. Запрет выделения текста
    <body onselectstart="return false">

  5. Запрет использования правой кнопки мыши
    <body oncontextmenu="return false">

  6. Замена символов на латиницу с помощью 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 - меняет на букву З. Заменив таким набором русские буквы, практически весь текст (после копирования с вашего сайта) приходит в негодность.

  7. Запрет клавиатурных функций. 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>")
    //-->

Читайте также

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении:*
Авторизация