За последние 24 часа нас посетили 19115 программистов и 1638 роботов. Сейчас ищут 865 программистов ...

Как защитить текст от копирования?

Тема в разделе "PHP для новичков", создана пользователем Contessa, 29 мар 2012.

  1. Contessa

    Contessa Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    74
    Симпатии:
    0
    Я, конечно, понимаю, что любой текст можно тупо перепечатать или сделать скрин с экрана, но может его можно хоть как-то защитить от копирования? Как заблокировать, например, функцию "копировать" в меню правой кнопки мыши? Что еще можно сделать чтобы усложнить процесс копирования текста с моего сайта владельцами других сайтов? Только не предлагайте его не публиковать совсем :) или выводить на экран в виде картинки: мне нужно чтобы текст был виден поисковиками.
     
  2. jenya777777

    jenya777777 Активный пользователь

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Код (Text):
    1.  
    2. <script language="JavaScript" type="text/javascript">
    3. function click(){
    4.  if(event.button==2){
    5.   alert('No copies!);
    6.  }
    7. }
    8. document.onmousedown=click;
    9. </script>
    Правда CTRL+C все равно будет работать =)
     
  3. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Для ФФ:
    Код (Text):
    1. body{-moz-user-select:-moz-none;}
    2. .enable{-moz-user-select:text;}
    Элементам формы нужно добавлять класс "enable", чтобы хотя бы их можно было править.
    Для Сафари и Хром:
    Код (Text):
    1. body{-webkit-user-select:none;}
    2. .enable{-webkit-user-select:text;}
    То же самое, элементам формы нужно добавить класс "enable".

    Инфа между прочим с сайта http://htmlbook.ru (на будущее).

    Для ИЕ:
    1. Всем элементам ставить атрибут "unselectable";
    2. Элементу body назначить обработчик onselectstart="return false".

    Как-то по требованию начальника писал скрипт, который сбрасывает всё выделенное 10 раз в секунду. Но это обходится временным выключением JS.
     
  4. Contessa

    Contessa Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    74
    Симпатии:
    0
    Спасибо за ответы, а для Оперы какой вариант подойдет?
    >1. Всем элементам ставить атрибут "unselectable";...
    А если нужно защитить от копирования только текст статьи (все остальное не жалко :) тогда где прописать этот атрибут?

    >Инфа между прочим с сайта http://htmlbook.ru (на будущее).
    :) Интересно. Знаю этот сайт и от его автора письмо с советом пришло: "защитить не возможно. на каждое действие найдется противодействие" :)
     
  5. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    В Опере вроде как до сих пор не реализовали запрет на выделение через стили. Скриптом только сбрасывать выделение.
    Автор htmlbook.ru правильно ответил (ещё бы). Но вы же хотели "хоть как-то защитить от копирования" :)
    Заметил, вскоре владельцы сайтов сами отключают эту "защиту", даже если просили защитить хоть как-то.