[Защита сайта программой Encrypt HTML Pro]материал подготовил: Михаил Брод 27.10.2004
Создав свой сайт и разместив его в Сети, многие считают, что на этом дело и заканчивается. Появляются посетители, появляются отзывы. Иногда, когда информация ли, дизайн привлекают к себе особое внимание, могут появиться ссылки на сайт в новостях или обзорах. Вроде бы все хорошо. Да не всегда. Неожиданно для себя автор сайта может обнаружить, что его собранная по крупицам информация, изюминки дизайна или скриптов, уже используются и на других сайтах. Бороться с любителями плагиата зачастую бывает бесполезно — времени и нервов затрачивается много, а результат чаще всего оказывается крайне незначительный.
Что делать в таком случае? Защищать свой сайт от «расхищения» любыми возможными способами. И первый — защищать исходный код страниц сайта от копирования. Варианты существуют разные, и сейчас вкратце на них остановимся.
Один из наиболее простых, но тем не менее действенных против пользователей- новичков вариантов — запрет на кэширование страниц. Это означает, что просмотренная в браузере страница не будет сохраняться в его кэше. Для того, чтобы реализовать этот вариант, достаточно немного изменить раздел <head> … </head>: <META HTTP-EQUIV=»Pragma» CONTENT=»no-cache»> или: <META HTTP-EQUIV=»no-cache»> или: <META HTTP-EQUIV=Cache-Control content=no-cache>
Другой способ позволяет ограничить возможности по копированию отдельных элементов страниц и текстов. Для этого используются, к примеру, специальные функции, заимствованные из JawaScript. С их помощью можно запретить выполнение отдельных функций, связанных с просмотром и, самое главное, сохранением текстов или иных элементов страниц на локальном компьютере. Так, может быть заблокирована функция клика правой кнопки мыши, функция выделения и копирования текста, функция запрета на сохранение графических файлов.
Возможна различные их реализации, например такие, которые предлагает В.Белов в статье «Защита контента». Если нет необходимости предупреждать посетителей о наличии защиты от копирования, можно вставить такой код: <body oncontextmenu=»notmenu();»> а в тело самой страницы поместить скрипт с функцией: <SCRIPT LANGUAGE=»JavaScript1.1″> function notmenu() { window.event.returnValue=false; } </SCRIPT>
Аналогичную функцию будет выполнять и следующий код: <body oncopy=» return false «>
Для защиты графических файлов можно воспользоваться иным кодом: <span oncontextmenu=»return false;» ondragstart=»return false»;><img src=»picture.jpg» galleryimg=»no»></span>
Если же надо запретить выделение, копирование и вызов контекстного меню, то в разделе <head> следует поместить следующий скрипт: <SCRIPT LANGUAGE=»JavaScript»> document.ondragstart = test; //запрет на перетаскивание document.onselectstart = test; //запрет на выделение элементов страницы document.oncontextmenu = test; //запрет на выведение контекстного меню function test() { return false } </SCRIPT>
Но такие способы могут отпугнуть разве что новичков. Для опытных пользователей обойти подобную защиту труда не составит.
Не нужно пренебрегать и самыми простыми способами защиты
Поэтому компания Microsoft еще в 1999 году анонсировала Microsoft Script Encoding. Суть этой технологии сводится к кодировке всей страницы в шестнадцатеричный код ASCII. В этом случае ни скопировать, ни сохранить страницу в читаемом виде нельзя, а вот просмотреть в Internet Explorer 5+ и выше — возможно. В этой технологии используется кодирование данных, а не их шифрование, то есть символы заменяются другими символами, а не зашифровываются. Технология не использует никаких скрытых или публичных ключей, а значит, может быть реализована любым вебмастером.
Но есть ограничения по использованию операционных систем и браузеров. Из браузеров этот способ поддерживается лишь Internet Explorer 5 и выше. Такие ограничения не дали возможность получить большого распространения этому способу защиты.
Но есть и иные варианты защиты, связанные уже с шифрованием исходных страниц. Одним из таких решений является программа Encrypt HTML Pro, разработанная компанией MTop Software Inc. Encrypt HTML Pro обеспечивает защиту веб-страниц от просмотра и использования исходных текстов, включая исходный HTML-код, JavaScript, VBScript, ASP, PHP, тексты, ссылки и графику, таким образом защищая вашу кропотливую работу на дизайном и содержанием сайта. В дополнение к уже названным возможностям, использование программы может предоставить защиту от использования правой кнопки мыши, отображения ссылок в строке статуса, защиту от выделения и копирования текста с экрана, печать страницы, ряд иных функций.
Кодирование — это замена одних символов другими. Легко поддается взлому
К основным возможностям программы можно добавить поддержку любых совместимых с JavaScript браузеров, при этом не требуются дополнительные программы или плагины, защиту как целых страниц, так и отдельных ее разделов, защиту от роботов, «собирающих» адреса e-mail с веб-страниц, одновременную обработку многих файлов, расположенных в различных разделах, простой и понятный интерфейс, неограниченный размер исходных файлов, поддержку различных кодировок — как европейских, так и азиатских, включая русскую. В описании говорится, что размер закодированного файла увеличивается по сравнению с исходным не более, чем на десять процентов. Для страниц на английском языке это условие выполняется, но вот страница, содержащая текст на русском языке, увеличивается не на проценты, а в разы. Так, защита исходной страницы в 45 килобайт привела к увеличению ее до 180 килобайт.
Процесс обработки исходных файлов состоит из пяти шагов, выполняемых в определенной последовательности. На первом шаге формируется список файлов, которые требуется зашифровать. Файлы можно добавлять поодиночке, можно — целыми папками со всеми входящими в них подразделами. В последнем случае можно дополнительно указать, что из разделов нужно включать только файлы с расширением HTM и HTML, а также внешние файлы JavaScript. Для безопасности можно использовать опцию создания резервных копий исходных файлов. Они будут создаваться с расширением *.PreEnc. Полученный список можно сохранить в виде текстового файла, чтобы в следующий раз можно было его использовать для повторных действий.
На этой же страница вместо формирования защищенных файлов, можно выбрать опцию восстановления их из зашифрованных файлов. Восстановление выполняется за два шага, из которых на первом формируется список для восстановления, а на втором — эти файлы восстанавливаются.
Дополнительных программ для просмотра зашифрованных страниц посетителю сайта не требуется
На втором шаге определяется метод шифрования файлов. Их несколько. Вы можете:
шифровать весь файл;
шифровать только тело HTML-страницы;
шифровать отдельные секции (почтовые адреса, ссылки, скрипты);
шифровать заранее определенные специальными тегами части файлов (в качестве тегов используются <!—encryptbegin—> и <!—encryptend—>)
не шифровать HTML-файлы.
Третий шаг предоставляет возможность выбора дополнительных опций. К ним относятся:
блокирование использования правой кнопки мыши. При этом можно выводить дополнительное окно с определенной вами надписью, например — «Страница защищена от просмотра»;
запрет печати страницы;
запрет копирования текста со страницы, что блокирует выделение текста указателем мыши и горячими клавишами;
запрет перетаскивания графических элементов со страницы для сохранения их где-либо на компьютере (опции drag&drop);
запрет офлайнового просмотра страниц;
запрет показа ссылок в строке статуса;
запрет печати сколки экрана (Print Screen);
запрет использования возможностей Adobe Acrobat Web Capture и ряд других.
На четвертом шаге выбираются опции, связанные с обработкой метатегов. К этому относится установление запрета на кэширование страниц, запрет на сохранение во временном разделе, вставка пустых строк в начало исходного кода и некоторые другие, включая запрет на функционирование поисковых роботов.
Выполнив установки, их м
ожно сохранить в файле конфигурации программы, или в ином внешнем файле. Тогда в следующий раз достаточно будет загрузить их из этого файла. И можно запускать процесс. Процесс обработки, особенно тех страниц, которые содержать символы на русском языке, проходит довольно долго, даже появляется ощущение, что программа «зависает», но нет — это такой процесс. В конце-концов все завершается нормально и у вас — комплект зашифрованных файлов, которые вы можете выкладывать на свой сайт в значительно большей уверенности в том, что «выкрасть» информацию из них будет несравненно сложнее, чем при иных способах защиты.