Копирование и вставка текста на сайтах с запретом
Копирование и вставка текста на сайтах с запретом — способы, которыми можно преодолеть защиту на некоторых сайтах, где технически запрещены операции копирования и вставки текста при помощи JavaScript (причины этого неизвестны, так как боты, занимающиеся спамом, всё равно не исполняют JavaScript, а всирают непосредственно через HTTP-запросы).
Описание[править]
На ряде сайтов их владельцы модифицируют события копирования и вставки с целью предотвращения этих операций: копирование или не происходит в принципе, или выдаётся сообщение об ошибке. Естественным образом возникает вопрос о том, можно ли преодолеть такую защиту и всё-таки использовать полезные функции Ctrl+C и Ctrl+V?
Ответ на это положительный.
Борьба[править]
В стандартах языка HTML не существует технических средств, позволяющих запретить копирование и вставку на уровне документа (впрочем, даже если бы она и была, ничто не мешало бы сохранить текст локально или использовать браузер, который игнорирует подобные директивы), поэтому самым простым способом является временное отключение JavaScript.
Для этого можно нажать F12, потом F1 и в открывшемся списке настроек временно отключить JavaScript, скопировать или вставить всё необходимое, затем включить скрипты обратно. Самый надёжный и простой способ, так как конкретный способ защиты может различаться, а отключение скрипта гарантированно убирает все помехи.
Также в Интернете можно найти инструкции, позволяющие модифицировать конкретные события JavaScript и отключить известные скрипты защиты от копирования и вставки, например такой код в консоли позволит вырубить защиту (однако, работает это не на всех сайтах, поэтому вариант с отрубанием JavaScript надёжнее):
$(function(){function n(){return 1}document.ondragstart=n,document.onselectstart=n,document.oncontextmenu=n,document.oncopy=n,document.onpaste=n});
Но может быть и так, что разработчик сайта грамотен и хорошенько набздел в DOM документа, прикрепив запрет вызывать контекстное меню к иным элементам. Тогда поможет следующая команда:
var elements = document.getElementsByTagName("*");
for(var id = 0; id < elements.length; ++id) { elements[id].oncontextmenu = null; elements[id].oncopy = null; elements[id].onpaste = null; elements[id].ondragstart = null; elements[id].onselectstart = null; }
Интересные факты[править]
- Защита от копирования включена на популярных российских государственных сайтах, в том числе Федеральной службы судебных приставов и на личном сайте Президента, из-за чего в гугле на первом месте по запросу о вставлении текста на сайте упоминаются именно сайты ФССП и президента. Видимо, сделано это, чтобы осложнить подачу письма президенту со стороны граждан.