Подскажите скрипт для защиты от копирования текста - обфускация лучше запрета
Задача: защитить весть текст от копирования неумельцами посредством добавления мусора в буфер обмена, но разрешить копирование мелких частей для пользователей.
Есть тонны банальных скриптов, запрещающих копирование всего текста, вроде этого: <SCRIPT LANGUAGE="JavaScript"> document.ondragstart = test; document.onselectstart = test; document.oncontextmenu = test; function test() {return false} </SCRIPT> Но для данной задачи они не подходят. Данный еще и плохо аботает в опере. Возможно кто-то знает готовый скрипт под данную задачу. В противном случае подскажите, пожалуйста, события копирования в буфер(для всех браузеров и как через контекстное меню, так и через кнопки ctrl+c), и как получить доступ к буферу - мусорщик я сам смогу дописать. |
Цитата:
Доступ к буферу обмена из ява скрипт - невозможен(кроме ИЕ, но и там с запросом)), есть возможность на флеш, но не кроссбраузерно для ИЕ, * - правда не знаю как сейчас: на ИЕ9-10, и неизвестно как поведет себя флеш и при всплытии меню копирования в браузере, собственно по которому пользователь и копирует. Стандартно флеш применяется при копировании кодов по кнопке, к примеру тут в топике. Тут нужно обращаться на флеш форумы. |
Вроде еще в 2009 говорили. что ничего не будет работать, ибо для того, чтоб работало нужно активировать флеш нажатием.
Тут каммент внизу читай - как с этим обстоят дела сейчас? Прозрачная картинка конечно вариант, вот только у меня на сайте есть страници с динамическим рендером: можно ли динамически растягивать и стягивать эту картинку. Да и перелинковка в статье не будет работать, тут уж лучше приведенный мной скрипт от дураков сработает. |
frenzy,
Цитата:
Цитата:
|
Самая эффективная защита - это канвас со своими векторными шрифтами. Неумельцы точно не скопируют.
От скриншотов не защититься, но если текста много, то мало у кого руки дойдут скриншотить большой объем. Сам скрипт не подскажу, т.к. это должна быть собственная реализация, иначе не имеет смысла. |
Цитата:
Третье и тотальное - страницу сохраняем на компе и делаем не спеша с ней что заблагорассудиться Проблемы выделения текста - тож решаемы через файнридер... Пока не оч удачно решается копирование с обратным преобразованием в контент, преобразованных в графику таблиц(еxel к примеру) и сложных формул |
Цитата:
|
Цитата:
2) См. п.1 3) Вот это как раз туфта, т.к. есть способы определения, где и как запущена страница, и можно ничего не выводить, а принудительно редиректить. Ну и автор просил защиту от копипаста, т.е. чтобы нигде в другом месте не выкладывали. Если страница сохранена полностью, то это не просто мелкая ссылка на источник в конце статьи, а нечто большее. И, да, абсолютной защиты здесь не может быть по определению. Но речь шла о защите от дурака. А здесь даже опытный программер поленится тратить свое время. Например, если пишет скрипт, который крадет контент, то это пол дня может уйти на расшифровку чужих скриптов, или на дописывание костыля, чтобы сохранить единый скриншот. |
Цитата:
|
Во всех браузерах кроме старых опер (почти всех кроме нескольких последних) есть событие oncopy. В старых операх нельзя отловить копирование из контекстного меню. По Ctr+C можно отловить через keydown (или keypress чтоли). Далее, во всех браузерах кроме Firefox есть объект clipboardData типа Clipboard. Далее, во всех этих браузерах кроме Safari 5 и и Chrome < 18 можно записывать данные в этот объект. Впрочем и без clipboardData достаточно изменить выделение и в буфер попадет именно оно.
<div id="nocopy">Попробуй меня скопировать. А затем проверь что в буфере</div> <textarea></textarea> <script> var target = document.getElementById('nocopy'); target.oncopy = function(event) { var clipboardData = (event || window.event).clipboardData; if (clipboardData) { clipboardData.setData('Text', 'Все права защищены!'); } else { alert('Clipboard API не поддерживается! Тут workaround\'им'); } return false; } </script> Кстати, не проще ли просто запрещать выделение больших кусков текста? Но думаю все эти антиплагиаты ничего не стоят. В хроме например javascript на странице отключается в три клика: |
:)
Надул: <iframe width="450" height="246" frameborder="0" src="http://video.yandex.ru/iframe/hostjs-mybb2011/aujyxo4kjr.2025/"></iframe> Там HD -слево вверху, иначе не видно |
Повторюсь если до кого не дошло с первого разу:
Цитата:
|
danik.js,
Я не отключал - спецом показал что включен - хотя - это ясно по запуску самого скрипта - илиб он не включился |
Я хз че ты там отключил (нихрена не видно), но в опере можно много че отключить в отдельности. Есть 1001 способ обойти "защиту", третий раз повторяю.
|
Цитата:
Так же идея не запрещать, а модифицировать копируемый контент направленна на то, чтобы юэверю казалось, что запретов нет и это у него что-то "глючит";) Canvas под такое делать - это жесть. Как потом с поисковиком такое чудо подружить? Насколько тяжелее и глюкавее станет страница? Как встроить в движок? И не забываем, что количество "мобильных" пользователей интернета уже очень весомо и растет. |
По теме: как отключить контекстное меню на сайте:)
|
Самое интересное откуда у ТС такой контент который надо защищать от копирования, ну то есть который денег стоит забрать. Вроде такого уже давно не осталось.
В общем для начала: такие проблемы решаются не технически, а юридически. Технически же достаточно обеспечить самый минимальный уровень трудности копирования чтобы сработал юридический фактор. Чтобы пользователь не рассказывал как мышь у него заглючила и скопировала десять мегов текста. |
Цитата:
|
Почему бы стилями это не сделать
.noselect { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } |
Часовой пояс GMT +3, время: 08:37. |