Как защитить контент от копирования
Добавлено: 05 сен 2012, 09:29
На форуме нашей тех.поддержки, конечно, уже имеется несколько подобных тем о том,
как защитить контент от выделения, копирования, и прочего.
Раз, два, три, ну и конечно четыре.
Я решил собрать всё до кучи и добавить рабочие скрипты которые сам проверял.
И сразу кидаю тему в FAQ.
И так, поехали.
Установка скрипта чрезвычайно проста...
Скрипты кидаем в шаблон overal_header между <body> и </body> (сам скрипт вставьте между <script></script>):
Запрет выделения текста и клика правой кнопкой:
Или вот еще скрипт
(запрет выделения и клика правой кнопкой):
Вот еще один скрипт для комплексной защиты сайта от копирования
(запрет выделения, вызова меню, ctrl+a и выделения двойным кликом):
А если нужно запретить вывод контекстного меню или выделение теста в определенном месте
(если не стоит не один из перечисленных выше скриптов),
то блок, в котором не нужно выделять текст и открывать меню, обрамляем в div с атрибутами:
Далее скрипт, запрещающий нажатие ctrl+u
(просмотр исходного кода):
Это скрипты, но если в браузере отключить javascripts, то все они работать не будут.
Решаем эту проблему так: всех пользователей с отключенным js мы отправляем на отличный сайт naxyu.yahooeu.ru
А для этого в head вставляем следующее:
как защитить контент от выделения, копирования, и прочего.
Раз, два, три, ну и конечно четыре.
Я решил собрать всё до кучи и добавить рабочие скрипты которые сам проверял.
И сразу кидаю тему в FAQ.
И так, поехали.
Установка скрипта чрезвычайно проста...
Скрипты кидаем в шаблон overal_header между <body> и </body> (сам скрипт вставьте между <script></script>):
Запрет выделения текста и клика правой кнопкой:
- Код: Выделить всё
<!--
var message="";
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2) {
(message);
return false;}}}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS;
}else{
document.onmouseup=clickNS;
document.oncontextmenu=clickIE;
}
document.oncontextmenu=new Function("return false")
-->
Или вот еще скрипт
(запрет выделения и клика правой кнопкой):
- Код: Выделить всё
document.ondragstart = test; //запрет на перетаскивание
document.onselectstart = test; //запрет на выделение элементов страницы
document.oncontextmenu = test; //запрет на выведение контекстного меню
function test() {
return false
}
Вот еще один скрипт для комплексной защиты сайта от копирования
(запрет выделения, вызова меню, ctrl+a и выделения двойным кликом):
- Код: Выделить всё
<SCRIPT LANGUAGE="JavaScript">
document.ondragstart = test;
//запрет на перетаскивание
document.onselectstart = test;
//запрет на выделение элементов страницы
document.oncontextmenu = test;
//запрет на выведение контекстного меню
function test() {
return false
}
</SCRIPT>
<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>
А если нужно запретить вывод контекстного меню или выделение теста в определенном месте
(если не стоит не один из перечисленных выше скриптов),
то блок, в котором не нужно выделять текст и открывать меню, обрамляем в div с атрибутами:
- Код: Выделить всё
onmousedown="return false;" onmouseover="window.getSelection().removeAllRanges();return false;" oncontextmenu="return false;"
Далее скрипт, запрещающий нажатие ctrl+u
(просмотр исходного кода):
- Код: Выделить всё
<script>document.onkeydown=function(a) {if(a.keyCode==85 && a.ctrlKey){alert('Ну и что мы тут потеряли?');return false}};</script>
Это скрипты, но если в браузере отключить javascripts, то все они работать не будут.
Решаем эту проблему так: всех пользователей с отключенным js мы отправляем на отличный сайт naxyu.yahooeu.ru
А для этого в head вставляем следующее:
- Код: Выделить всё
<span><noscript><meta http-equiv="refresh" content="0;URL=<a class="smarterwiki-linkify" href="http://naxyu.yahooeu.ru/">http://naxyu.yahooeu.ru/</a>"></noscript></span>
"GoDFaTHeR" писал(а): |
работает только с теми людьми которые не знают как работает интернет |