Защита вашего сайта
 
Итак, вы уже, наверное, имеете свой собственный сайт и уже многое понимаете в веб-дизайне, вы, наверное, отлично знаете php, perl, mysql, и вы уж точно написали несколько скриптов. Но вы ведь не всегда все это знали. Вспомните то время, когда вы заходили на какой-нибудь мощный сайт и восторгались его наворотами. Вы не могли такого сделать,даже не могли понять как это сделать. Тогда вы, наверняка, просматривали HTML код этой страницы, пытаясь найти нужный вам скрипт. И иногда, может быть, даже очень редко, когда вы нажимали на правую кнопку мыши, в предверии копирования скрипта, ничего не происходило. Вас, наверно, это немного раздражало, вы проделывали ту же операцию по несколько раз, но все равно ничего не происходило. Тогда вы, наверное, думали, что страница неисправна и шли на другую, но нет! Со страницей все было в порядке, просто в нее был вписан следующий скрипт:

<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>...</body>. Если вы хотите, чтобы посетитель просто не мог нажать на правую кнопку мыши и при этом не появлялось никакое сообщение, то вам надо вставить в тег <body> специальное сообщение: <body oncontextmenu="notmenu();">, а в тело страницы поместить следующий скрипт:

<script language="Javascript1.1">
function notmenu() {
window.event.returnValue=false;}
</script>


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

<script language="Javascript">
document.ondragstart = test;
//запрет на копирование
document.onselectstart = test;
//запрет на выделение
document.ontextmenu = test;
//запрет на выделение контекстного меню
function test() {
return false
}
</script>


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

<button onclick='window.showModalDialog("page.html")'>Показать страницу</button>

В этом окне страницу нельзя ни копировать, ни сохранить, но можно просмотреть через функцию браузера Вид > Просмотр html-кода код кнопки, чтобы затем открыть ее в браузере.
 
Автор: Шенин Юрий
 
Оригинал статьи: http://woweb.ru/publ/48-1-0-690