Правильная защита от копирования (12.03.2013). |
![]() |
2013 - Март | |||
12.03.2013 19:36 | |||
После того, как я внедрил на сайт защиту от копирования, описанного в статье "Методы защиты информации вашего сайта", прошло очень много времени. И даже новые статьи выходили: эта и эта. Но защита от копирования не модернизировалась. И все было спокойно до тех пор, пока я не разместил информацию о телефоне-бабушкофоне. Естественно, в статье приводятся названия телефонов. Пользователи пытались их скопировать (5-10 букв текста). И как оказалось, срабатывание защиты в этом этапе вызывало у школьников такие приступы ярости, что один из них даже мне написал. Мата там было почти на килобайт, голый текст почти без знаков препинания. И не лень ему было писать эти 1000 букв, когда название модели весит 10 букв. От души поржал, удалил письмо. Прошла неделя, мне пишет другой человек; однако в спокойной форме описал проблему, добавив пару примеров и крепкое слово. Теперь крепкое слово взбесило уже меня: ты гость на моем сайте, за содержание которого я плачу личные деньги; кто ты вообще такой. Ну а потом я лег спать, а как известно, часть хороших идей приходит во сне: "утро вечера мудренее". Открыв глаза, я понял. Ведь можно интеллектуальную защиту от копирования ввести. Интеллектуальность состояла в одном-единственном условии: если копируется менее 50 символов - "зеленый свет", иначе - корректный посыл в отдел "К". Ну, в технической реализации были сложности: JavaScript не умеет работать с буфером обмена. Но может работать непосредственно с выделенным текстом, которого 3 типа. В итоге родилось это (поправка: в IE работает нормально, в прочих браузерах выделение становится невозможным): <BODY ondragstart="go_out();" oncopy="go_out();"> function go_out() function getText(){ </SCRIPT> Вот, копируйте ее теперь по 50 символов, (добавлено 09.07.2016) Великое горе: оказывается, программы типа DoPDF могут сохранять в PDF все содержимое страницы. Значит, нужно запрещать печать страницы - но это уже абсурд. |
|||
Обновлено ( 09.07.2016 09:44 ) |