Сегодня 02.05.2024

Добро пожаловать на сайт,Гость!

ska4ayka.ucoz.com - это программы,полезный софт,игры,статьи и многое другое... Все скачивается без регистрации,бесплатно и без смс.
Главная » Статьи » Вебмастеру

Защита контента сайта от копирования



Пока компьютерные издания рапортуют об увеличении числа сайтов, авторы многих из них вздрагивают; одни — опасаясь разоблачения, другие же боятся того, что плоды их труда попросту могут украсть. Думаю, каждый из читателей хотя бы раз слышал или читал историю о том, как новоявленные дизайнеры без зазрения совести, невзирая на знаки копирайта, просто крали графику, элементы сайта или полностью дизайн сайта у популярных конкурентов. Время от времени Сеть вздрагивает от подобных историй, произошедших не только с нашими малозаметными сайтами, но и с довольно известными международными порталами (кстати, в США, кража дизайна сайта приравнивается к краже частной собственности). С введением закона об электронной цифровой подписи защита контента становится куда более актуальной, так как фактически от этого зависит сохранность соглашений и документов, выложенных для публичного ознакомления на сайте. Ну что ж, как говорится, спасение утопающих — дело рук самих утопающих; давайте же попробуем в меру своих сил и умений хоть как-то защитить свой сайт от дизайнеров «с большой дороги». 

В вопросе защиты контента сайта от копирования существует несколько отличных друг от друга подходов. Самым простым вариантом является использование возможностей javascript для блокирования функций выделения и копирования как графических, так и текстовых элементов web-страницы. Это не самый надежный, но при этом самый доступный вариант для большинства вебмастеров и серверов. Далее следует скриптовая защита — вернее, показ страницы через специальный php- или cgi-гейт, также не позволяющий производить копирование, сохранение и кэширование страниц. Однако в большинстве случаев подобные скрипты строятся на функции создания страницы на лету, а этот вариант не самый лучший с позиции защиты. Ну и наиболее «надежным» принято считать перевод всех элементов страницы в шестнадцатеричный код ASCII, закодированный в ISO Latin-1. Слово «надежным» я специально взял в кавычки, и на то есть две причины. Во-первых, эта технология предполагает работу с web-страницами в режиме кодирование-декодирование, что уже говорит о том, что пользователь, сохранив закодированную страницу, может создать скрипт, который декодирует первоначальный ASCII-код и сохранит его в читаемом виде где-нибудь на диске. Во-вторых, вряд ли можно считать настолько надежными те технологии, одинаковые и неизменные принципы которых может использовать любой пользователь Сети. В большей мере все эти подходы служат лишь для защиты от начинающих пиратов и от людей, малознакомых с подобными технологиями. Конечно, есть еще SSL, но в связи с тем, что это платный сервис, и не каждый готов за него платить, мы его рассматривать не будем. 

Начнем с самого простого — с запрета на кэширование страницы. Хоть это может показаться ненужным шагом для защиты, большинство специалистов по безопасности считают это первым шагом на пути к полноценной защите сайта от копирования. Для запрета на кэширование необходимо всего-навсего сделать на это указание в разделе <head>… </head>: 

Code
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

или: 
Code
<META HTTP-EQUIV="no-cache">

или: 
Code
<META HTTP-EQUIV=Cache-Control content=no-cache>


Следующим шагом будет собственно защита от копирования элементов страницы. Так, например, если необходимо защитить исключительно графические файлы, то можно обойтись следующим кодом: 

Code
<span oncontextmenu="return false;" ondragstart="return false";><img src="picture.jpg" galleryimg="no"></span>


В этом случае используются функции oncontextmenu и ondragstart, позаимствованные из javascript (оно и не мудрено, ведь JScript принят в Internet Explorer языком по умолчанию, что не требует обязательного указания атрибутов <script>). Скрипты от Java широко используется и для других функций защиты web-страниц, например для блокировки некоторых функций. Так, вы можете заблокировать функцию клика правой кнопкой мыши и известить пользователя об этих ограничениях специальным сообщением ( Рис. 1). Чтобы реализовать эту функцию, вам необходимо внести такой код в тело страницы, т.е. между тэгами [body]…[/body] (текст выпадающего сообщения, конечно, вы можете изменить на свой вкус): 

Code
<script language="javascript1.2">  
<!-- 
var mymessage = "Извините, но вы не можете просмотреть код страницы или скачать картинку."; 
if (document.layers){ 
document.captureEvents(Event.MOUSEDOWN); 

  function rtclickcheck(keyp){ 
  if (document.layers && keyp.which != 1) { 
  alert(mymessage); 
  return false; 
  } 
  if (document.all && event.button != 1) {  
  alert(mymessage); 
  return false; 
  } 

document.onmousedown = rtclickcheck 
//--> 
</script>


Но не всегда есть необходимость уведомлять пользователя о запрете на копирование, достаточно просто ограничить эту функцию. Один из способов — внести в тэг [body] специальное сообщение: 

Code
<body oncontextmenu="notmenu();">


а в тело самой страницы поместить скрипт с функцией: 

Code
<SCRIPT LANGUAGE="javascript1.1"> 
function notmenu() { window.event.returnValue=false; } 
</SCRIPT>


Но в этом случае все еще останутся доступными функции выделения текста и его копирования с помощью быстрых клавиш Ctrl+C. Если же надо запретить выделение, копирование и вызов контекстного меню, то в разделе [head] следует поместить следующий скрипт: 

Code
<SCRIPT LANGUAGE="javascript"> 
document.ondragstart = test; 
//запрет на перетаскивание  
document.onselectstart = test; 
//запрет на выделение элементов страницы 
document.oncontextmenu = test; 
//запрет на выведение контекстного меню 
function test() { 
return false 

</SCRIPT> 

Все эти средства хороши лишь против нездоровой активности новичков, но не обеспечивают необходимой защиты сайту. Достаточно сохранить такую web-страницу на винчестере, а потом, открыв ее в блокноте, удалить указанный код, и уже потом использовать по своему усмотрению. 

Существует как минимум еще один вариант защиты с использованием модальных окон. Для этого, правда, страницу надо открывать через специальную кнопку: 

Code
<BUTTON onclick='window.showModalDialog("page.html")'>Показать</BUTTON>


Страницу в таком окне нельзя ни скопировать, ни сохранить — но опять же, достаточно в блокноте или через функцию браузера Вид > Просмотр HTML-кода посмотреть код кнопки, чтобы определить адрес страницы и затем открыть ее в новом окне браузера. 

Совсем по другому пути пошла Microsoft, которая еще в 1999 году анонсировала Microsoft Script Encoding или JScript.Encode. Суть этой технологии сводится к кодировке всей страницы в шестнадцатеричный код ASCII. В этом случае ни скопировать, ни сохранить страницу в читаемом виде нельзя, а вот просмотреть в Internet Explorer 5+ — пожалуйста. В основе этой технологии лежат все те же функции Java: для кодировки используется escape, а для перекодировки unescape. Хочу обратить ваше внимание на тот факт, что в этой технологии используется кодирование данных, а не их шифрование, т.е. символы заменяются другими символами, а не зашифровываются. Поэтому для прочтения страницы достаточно обладать инструментом, способным вернуть первоначальное значение измененного символа. Технология не использует никаких скрытых или публичных ключей, а значит, может быть реализована любым вебмастером. Реализовать этот способ шифрования можно как с помощью простенького скрипта на Java, так и с помощью php- и cgi-скриптов. Вот пример кода для шифрования страницы на javascript: 

Code
<SCRIPT Language = "javascript"> 
mystring = "Вставьте текст" 
document.write (escape(mystring)); 
</SCRIPT>


А вот что отобразит браузер: 

%u0412%u0441%u0442%u0430%u0432%u044C%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442

Как видите, совсем не похоже на начальный текст. В таком зашифрованном виде страница сохраняется на сайте, а для ее прочтения используется функция, ответственная за прочтение: 

Code
document.write (unescape("3%74…%68"))


Вместо цифробуквенной абракадабры в этом примере используется код вашей страницы после кодировки. Для того чтобы его ввести в эту функцию, используют либо скрипты-ридеры (что-то типа reader.cgi?page.htm), «читающие» весь ворох ваших страниц по запросу, либо дополнительные функции Java. Вот для того чтобы не делать ошибок в кодировании/декодировании, не «изобретать снова велосипед», как раз и придумали в компании Microsoft специальную технологию JScript.Encode. Как видите, к обычному JScript специально добавлено определяющее слово Encode. То есть программе-интерпретатору (или браузеру) таким образом мы сообщаем, что для перекодировки используется обычный JScript, и специальных программ для прочтения страницы не потребуется. 

Microsoft предлагает для кодирования специальную программу screnc.exe ( скачать, 127 Кб. Эта программа позволяет кодировать файлы HTML, ASP, SCT, VBScript и JScript. Кодирование страниц с помощью программы screnc происходит через командную строку, для этого достаточно указать название страницы, которую вы хотите закодировать, и название, которое будет иметь страница после кодировки: 

screnc mypage.htm codemypage.htm 

Правда, кодироваться могут только страницы, имеющие атрибуты Jscript, или специально подготовленные для этой операции с помощью тегов: 

Code
<SCRIPT language="JScript">  
<!--//  
//**Start Encode** 
//А здесь html-код страницы 
//-->  
</SCRIPT>


Преобразование полученного кода в нормального вида страницу происходит так же непринужденно: 

Code
<HTML><HEAD> 
<SCRIPT language="JScript.Encode">  
//**Start Encode**3%74%72%69%6E%67%2E%66%72%6F%6D%43%68 
</SCRIPT> 
  </HEAD> 
<BODY onload="getAppropriatePage()"> 
</BODY> 
</HTML>


Существуют определенные требования к браузерам и операционным системам, с которыми работает Script Encoder от Microsoft. Так, в последнем релизе (февраль 2003 года) указывается, что программа работает с операционными системами Windows 2000, Windows 98, Windows ME, Windows NT, Windows XP, а также с браузерами Internet Explorer 5 и выше серий. Возможно, из-за этой специфики Script Encoder и не получил большого распространения. 

Среди возможных альтернатив на рынке специализированных программ-кодировщиков можно назвать программу HTML Guardian ( Рис. 2) — http://www.protware.com/dl/HTMLGuardian.exe, 6.26 Мб — компании ProtWare. Программа позволяет кодировать файлы форматов .htm, .html, .shtm, .shtml, .stn, .asp, .js, .vbs, .css, .php, .inc, а также графические .jpf, .gif (не анимированный) и .bmp. Помимо этого, программа позволяет кодировать отдельные фрагменты (например, реферальные ссылки, адреса e-mail) или скрипты html-страницы, а также закрывать доступ к коду страницы с помощью 384-битного ключа. Главное отличие HTML Guardian от Script Encoder состоит в том, что программа предлагает пользователю при кодировании файла выбрать опции кодирования, включающие в себя и ограничения на некоторые функции браузера (например, запрет на клик правой кнопкой мыши или на использование файла в оффлайне). В отличие от Script Encoder, HTML Guardian имеет возможность кодировки страницы и для альтернативных браузеров, также работает с IE версии 5 и выше. В отношении последнего ProtWare гарантирует максимальную безопасность. 

Как видите, уважаемый читатель, при всем разнообразии подходов, даже минимальную защиту web-страниц могут обеспечить не все из них. Однако даже те инструменты, какие сегодня представлены на рынке, хоть частично, но все же могут сохранить ваши сайты от взлома и копирования.



Купить ссылку здесь за руб.
Поставить к себе на сайт

Купить ссылку здесь за руб.
Поставить к себе на сайт



Источник: http://proqrammi.ucoz.ru/publ
Категория: Вебмастеру | Добавил: ADmin (22.02.2012)
Просмотров: 1209 | Теги: копирования, контента, защита, от, сайта | Рейтинг: 2.5/4
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
шаблоны для ucoz, cs шаблоны, на тему, скрипты, cs