Глобальная сеть призвана нести информацию в массы. Но на данном этапе развития сети Интернет, количество сайтов, содержащих материалы других авторов, со ссылкой на автора и оригинал или без нее, многократно превышает количество сайтов с уникальными авторскими статьями, описанием собственных разработок и другими полезными материалами. А все потому, что копипаст чужих материалов может приносить не маленький доход, при должном подходе.
Копипаст — термин, означающий две последовательные операции:
- Копирование текста на сайте источнике — от английского copy;
- Вставка текста на своем сайте — от английского paste.
При чем, зачастую, копипастеры даже не утруждают себя как переработкой (пересказом) текстов, так и ссылкой на автора.
Крупные поисковые системы, такие как Яндекс и Гугл, стараются активно противодействовать размножению не уникального контента. Они стараются оценивать полезность и уникальность материалов сайта и выдавать в результате поиска, в первую очередь, те сайты, которые, по их мнению, являются самыми достойными. И даже наоборот, сайты с низкой долей уникальных материалов совсем выпадают из поисковой выдачи, что осложняет жизнь любителям легкой наживы.
Для чего было это лирическое отступление? Не смотря на все старания поисковых гигантов, тексты с сайтов как воровали, так и воруют.
Попробуем хоть немного затруднить злоумышленникам их задачу. Одним из самых простых способов защиты от ручного копирования текста на странице сайта является небольшой javascript/jquery-скрипт:
[js]$(‘body’).bind(‘copy paste cut drag drop’, function (e) {
e.preventDefault();
});[/js]
Если не вдаваться в подробности, этот скрипт просто предотвращает выполнение всех операций копирования, вставки, вырезания и перетаскивания-отпускания на странице.
Защита от копирования текста в yii 2.0
Рассмотрим один из вариантов реализации защиты от копирования текстов на примере стандартного advanced приложения yii2.
Для начала, создаем файл с вышеуказанным скриптом и сохраняем его в /frontend/web/js/copy-protect.js
Теперь осталось только включить созданный файл в asset. Добавим его в файле /frontend/assets/AppAsset.php:
class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl = '@web'; public $css = [ 'css/site.css', ]; public $js = [ 'js/copy-protect.js', ]; public $depends = [ 'yii\web\YiiAsset', 'yii\bootstrap\BootstrapAsset', ]; }
Осталось только проверить результат в любимом браузере.
Замечание
Данный метод позволяет защититься только от ручного копирования и его можно обойти, отключив выполнение javascript на странице.
Для защиты от автоматического копирования содержимого, в приложении нужно предусматривать специальный механизм защиты от роботов. Но об этом как-нибудь в другой раз.
Это ужасно.
Во-первых, вы так считаете пользователя за дурака, если на сайте есть контент и его нужно взять — 100% он будет взят.
Во-вторых, обычные пользователи при копировании пары строк будут страдать.
100% согласен
Кто захочет скопипастить статьи воспользуется даунлоад менеджером к примеру (потом их в html обработает), либо правой кнопкой — сохранить по ссылке. Короче если страница уже на клиентской стороне, ее никак не защитишь.
А каково к примеру если это обучающий сайт с исходниками примеров, юзер сразу пробует. Копирует, вставляет, перезагружает страницу, смотрит, редактирует.
А тут такой гемор. Набирать код вручную. Легче другой сайт найти а об этом забыть навсегда.