Защита информации во все времена была актуальной темой. С появлением Интернета, когда информация стала доступной и оперативной, вопрос о ее защите стал еще более актуальным. Несовершенство правовой базы в нашей стране в сфере защиты интересов обладателей авторских и смежных прав еще более усугубляет эту проблему.
Веб-мастерам и владельцам веб-ресусов приходится самим находить способы защитить авторские права на сайт, и чаще всего прибегают к техническим, нежели юридическим способам. Дело в том, что единственная 100% защита странички от просмотра HTML кода – выключенный сервер, т. к. если страничка доступна хотя бы для одного из браузеров, то у посетителя всегда есть возможность сохранить код этой странички. Поэтому все технические способы защиты HTML кода условно можно поделить на 2 способа: шифрование HTML кода и другие способы (отключение правой кнопки мыши, запрет на сохранение картинок с помощью скриптов, приведение html кода в состояние тяжелое для восприятия и т. д.).
Программно-техническую защиту (подразумевается использование программы, предназначенной для защиты в сети прав и законных интересов авторов электронных публикаций, путем отображения публикаций способом, исключающим их копирование и/или иное несанкционированное размножение или другую модификацию) рассматривать не будем по следующей причине. Как я уже сказал, единственная 100% защита странички от просмотра HTML кода – выключенный сервер, и какими бы хитрыми методами защиты HTML кода вы не пользовались (в том числе и шифрование), возможны два варианта исхода событий:
- Пользователь окажется “чайником” и, увидев что его обычные действия (скопировать картинку, текст и т. д.) не приводят к желаемым результатам, бросит это занятие, то ваши авторские права не будут нарушены .
- Пользователь окажется “продвинутым”, и, повозившись какое-то время с вашим сайтом, он достанет нужную для него информацию. В этом случае ваши права будут нарушены .
Следует, так же учесть еще один момент – любые попытки защитить техническими способами авторские права на сайт приводят к тому, что:
- вы усложняете жизнь обычным пользователям, ради которых и создавался этот сайт, ради которых и размещалась ваша информация (возникают различные неудобства при работе с сайтом );
- вы усложняете жизнь себе.
Таким образом, прежде чем использовать описанные ниже методы, хорошенько подумайте, что вы хотите защитить, зачем и стоит ли это ваших ресурсов (временных, материальных и т. д.), с учетом того, что кому действительно надо нарушить ваши авторские права, тот их действительно нарушат.
Исходя из выше сказанного, существует и несколько способов защиты, они делятся на простые (стандартные) и сложные (шифрование).
2. Стандартные способы технической защиты авторских прав на сайт
1. Блокирование правой кнопки мыши
Самый классический и наиболее распространенный способ — это использование скрипта. который выдает предупреждающую надпись при нажатии правой кнопки мыши:
2. Запрещение выделения объекта мышью
В теге прописывается oncontextmenu=»return false».
3. Запрещение копирования
В теге прописывается oncopy=»return false».
4. Защита графической информации
4.1 Защита картинки (способ 1)
Создается «слоеная» картинка в таблице. Идея в том, чтобы разрешить посетителю страницы сохранять картинки, только вместо тех, что он видит, оставлять совершенно другие, например, прозрачные. Для изготовления такой картинки понадобится любой HTML-редактор, для не особых знатоков разметки гипертекста лучше всего воспользоваться Dreamweaver. Создаем таблицу с одной ячейкой, по размерам совпадающую с нашей картинкой, и вставляем последнюю в качестве фона таблицы (или ячейки). В эту таблицу вставляем точно такую же еще одну таблицу, а уже в последнюю — прозрачный gif-файл (имя картинки и имя прозрачного gif-файла следует сделать почти одинаковыми на вид). Если этот метод вас устраивает, а создавать таблицы с картинками вручную нет желания, вы можете воспользоваться специальной программой для создания слоев — например, Cool Page .
4.2 Защита картинки (способ 2)
Идея в том, что бы порезать картинку на кусочки. Картинка разрезается на множество сегментов, каждый из которых затем вставляется в таблицу. В этом случае тому, кто захочет эту картинку восстановить, придется сохранять каждый сегмент в виде отдельного файла и потом «сшить» в одном из графических редакторов. При большом числе фрагментов разбиения желание похитить картинку у кого-то может пропасть окончательно. При автоматизации такого способа можно воспользоваться функцией автоматической разрезки изображений, имеющейся в некоторых графических редакторах. В Ulead PhotoImpact можно разрезать картинку на нужное количество частей и сохранить результат в HTML. При этом генерируется таблица, которую можно экспортировать во Dreamweaver, настроить там ее внешний вид, после чего вставить полученный код в свою веб-страницу.
Необходимо обратить внимание на то, что от копирования картинок при помощи кнопки клавиатуры Print Screen описанные способы 4.1 и 4.2 не спасут, поэтому рекомендуется публиковать картинки с приемлемым качеством для комфортного просмотра изображения, но не приемлемым для их коммерческого использования.
5. Открытие защищаемой страницы в отдельном окошке
Идея в том чтобы защищаемая страница открылась в новом окне, в котором не будет возможностей использовать браузер (не будет верхнего меню: файл, правка, вид, избранное, сервис и т. д.) и соответственно пользователь не сможет посмотреть код через Вид – Просмотр HTML-кода (конечно данный пункт необходимо реализовывать совместно с отключением правой кнопки мыши).
Следует ввести в заголовок защищаемой страницы скрипт, определяющий имя окна window. name, в которое пользователь хочет загрузить страницу. Например, это имя WinX:
Если имя окна не WinX, то направляем пользователя или на ложную страницу, или на страницу с предупреждением, или на исходную. Можно и просто автоматом закрыть окно без предупреждений.
Например:
Таким образом, заблокируются любые возможности пользователя открыть вашу страницу в новом окне. Конечно, ссылки на Вашу страницу с других страниц или поисковиков будут попадать на страницу mistake. htm. Это надо всегда иметь в виду.
Допустим, пользователь все-таки очень хочет посмотреть код, и он разобрался, что для загрузки страницы mypage1.htm надо открыть ее в нормальном окне, но с именем WinX. Тогда он делает свою страничку, ставит в ней свой скрипт, аналогичный нашему, и открывает.
Как не дать ему сделать это?
Следует ввести в защищаемую страницу (в ее заголовок) скрипт, определяющий страницу, с которой пользователь запрашивает вашу.
Например:
То есть, достаточно определить, является ли страница, с которой вызывается наша mypage1.htm, страницей, находящейся на нашем сервере, или нет. Тогда попытки ввода страницы в любое окно с правильным именем WinX, но не с той страницы, с которой следует, будут заканчиваться перенаправлениями пользователя на страницу mistake. htm.
Совсем хорошо, если у вас есть возможность использовать PHP-скрипт, в который можно передать IP-адрес посетителя страницы. Тогда можно просто блокировать дальнейшую выдачу любых страниц, если посетитель более трех-пяти раз попытался загрузить вашу страницу не тем способом, который ему разрешен. То есть реализовать нечто типа «черного списка». И для IP-адресов «черного списка» выдавать ошибку 404 — файл не найден. То же самое можно выдавать вместо файла mistake. htm. Психологически действует великолепно.
6. Отключение кэширования страницы
Данный код отключает кэширование на жестком диске в некоторых видах браузеров, что не позволяет пользователю найти на жестком диске сохраненную копию документа.
7. Вставлять html во flash
В этом случае, конечно код страницы будет доступен, но вот достать его обратно из flash представляет временную проблему, которая для обычного “чайника” может оказаться и не решаемой.
3. Техническая защита авторских прав на сайт шифрованием
Шифрование – задача довольно непростая, полное описание которой займет не одну статью, поэтому ниже обозначены способы, предназначеныые для демонстрации основных принципов, и не являются готовыми к использованию решениями.
1. Использование компилятора perl2exe
Самый простой способ защиты кода это использование компилятора perl2exe (Windows), который создаёт из кода обычный выполняемый файл. Для, пожалуй, одного из самых популярных в Рунете языка сценариев Perl, одним из вариантов сокрытия исходных текстов стала возможность компилирования исходных текстов в исполняемый формат PE-exe для win32, ELF для Linux. Такая утилита для компиляции, и называется Perl2Exe. предоставляется компанией сторонних разработчиков IndigoStar Software.
В этом случае самый элементарный способ (и чаще всего используемый) — зашифровать программу, поместить её в переменную, а в конце поставить расшифровщик. Но, несмотря на то, что авторы утилиты Perl2Exe не предоставляют ее исходных кодов, оказалось возможным найти инженерный пароль в автоматическом режиме, с помощью различного рода хакерских программ. Поэтому говорить о криптографической стойкости подобного шифрования бессмысленно, поскольку ключ к шифру находится рядом с самим шифром. (Что только увеличит размер вашей зашифрованной странички). Такое изменение программы легко обратимо.
2. Удаление синтаксических символов и добавление фрагментов
Самый большой интерес представляют необратимые изменения текста. Частично таковым является удаление всех переводов строк, комментариев, лишних скобок и пробелов из кода — в общем, всего «ненужного», что было там лишь для повышения читабельности. Это необратимо лишь частично, поскольку некоторые редакторы могут автоматически расставить переводы строк и табуляторы.
Можно вставлять в код бессмысленные куски, которые ничего не делают (чаще всего этот метод применяется в комбинации с удалением «ненужного»).
В идеале эти бессмысленные куски должны быть разнообразными и похожими на окружающий их код, чтобы их было сложнее распознать.
3. Шифрование с использованием source filters
В следующей статье описывается шифрование с использованием source filters.
В общем случае, у данного метода остается, как и у многих, пожалуй, методов шифрования, тот же недостаток, что и у Perl2Exe или схожей с ней утилит, а именно – наличие инженерного пароля.
4. Шифрование HTML кода
Последний и, пожалуй, самый простой способ шифрования для веб-мастеров сайтов.
Шифрование HTML кода с использованием сервиса http://www. ph4.ru/wm_html2js. ph4, который преобразует все нелатинские символы HTML кода (кроме точки, запятой, знака вопроса и двоеточия) в коды символов UNICODE.
Оригинал HTML кода:
В UNICODE выглядит так:
%3Cscript%20language%3D%22JavaScript1.2%22%3E%0D%0A%0D%0Aif%20%28documen
t. all%29%20document. body. onmousedown%3Dnew%20Function%28%22if%20%28event. butt
on%3D%3D2%7C%7Cevent. button%3D%3D3%29alert%28%27%u041F%u0440%u0435%u04
34%u0443%u043F%u0440%u0435%u0436%u0434%u0430%u044E%u0449%u0438%u0439%
20%u0442%u0435%u043A%u0441%u0442%27%29%22%29%0D%0A%0D%0A%3C/script%
Там же сервис выдает окончательный код, который вставляется в вашу страничку:
PS. Если вся страница закодирована таким образом, она не будет работать, если в браузере пользователя отключен javascript.
HTML код ни как не предрасположен к своей защите, поэтому его защита является довольно творческим процессом, комбинации как описанных выше способов, так и нахождения новых. При желании можно достичь неплохих по меркам специалистов результатов, которые будут даже на них действовать психологически великолепно.
В этом случае 80-85% пользователей, столкнувшихся с вашей защитой, после пары провалов, бросят это безнадежное дело, и ваши авторские права будут защищены, при этом необходимо всегда отдавать себе отчет в том, что абсолютной защиты не существует.