Запрет выделения текста

Материал из Мегапедии
Перейти к: навигация, поиск

Запрет выделения текста — метод защиты от копирования текста.

Описание

Копирование текста с веб-сайта производится через выделение текста и комбинацию Ctrl+V или же выбор «Копировать» в контекстном меню браузера. Защита, соответственно, обеспечивается изменением событий клика/начала выделения — выделение сбрасывается или вообще не работает. Потенциально это может защитить от нарушения авторских прав.

Защита не является сколько-то надёжной, так как текст пересылается сервером на клиентскую машину, на которой пользователь обладает полными правами. Защита легко обходится возвращением событиям исходных значений, или же более надёжно — отключением JavaScript после загрузки контента.

Примеры

Метод защиты подменой событий использован на некоторых страницах сайта писателя Виктора Пелевина, по задумке должен не позволять копирование авторского текста. Копирование просто не работает, а при попытке вызвать контекстное меню появляется сообщение: «Мы просим прощения, но копировать тексты отсюда нельзя. Не потому что мы такие, а потому что на это есть десять тысяч внешних причин. Вы можете считать это событие непреодолимой силой Природы и давайте сделаем вид, что ничего не произошло».

Защита легко обходится через юзерскрипт: <source lang=javascript> document.body.onselectstart = undefined; document.body.onmouseup = undefined; document.body.oncontextmenu = undefined; document.body.oncopy = undefined; </source>