- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Собственно вопрос. Как можно защитить контент сайта от копирования правой кнопки мыши. И как это сделать? За ранее благодарен.
Сделайте test.html с содержанием:
<head>
<script type="text/javascript" src="wedono.js"></script>
</head>
<body oncontextmenu="notmenu();>
а вот и текст. пробуем его скопировать ;)
</body>
далее нужно создать файл wedono.js и положить его в корень где размещен test.html
wedono.js содержит:
function preventSelection(element){
var preventSelection = false;
function addHandler(element, event, handler){
if (element.attachEvent)
element.attachEvent('on' + event, handler);
else
if (element.addEventListener)
element.addEventListener(event, handler, false);
}
function removeSelection(){
if (window.getSelection) { window.getSelection().removeAllRanges(); }
else if (document.selection && document.selection.clear)
document.selection.clear();
}
function killCtrlA(event){
var event = event || window.event;
var sender = event.target || event.srcElement;
if (sender.tagName.match(/INPUT|TEXTAREA/i))
return;
var key = event.keyCode || event.which;
if (event.ctrlKey && key == 'A'.charCodeAt(0))
{
removeSelection();
if (event.preventDefault)
event.preventDefault();
else
event.returnValue = false;
}
}
addHandler(element, 'mousemove', function(){
if(preventSelection)
removeSelection();
});
addHandler(element, 'mousedown', function(event){
var event = event || window.event;
var sender = event.target || event.srcElement;
preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
});
addHandler(element, 'mouseup', function(){
if (preventSelection)
removeSelection();
preventSelection = false;
});
addHandler(element, 'keydown', killCtrlA);
addHandler(element, 'keyup', killCtrlA);
}
preventSelection(document);
function addHandler(object, event, handler, useCapture) {
if (object.addEventListener) {
object.addEventListener(event, handler, useCapture ? useCapture : false);
} else if (object.attachEvent) {
object.attachEvent('on' + event, handler);
} else alert("Add handler is not supported");
}
var ua = navigator.userAgent.toLowerCase();
var isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1);
var isGecko = (ua.indexOf("gecko") != -1);
if (isIE) addHandler (document, "keydown", hotSave);
else addHandler (document, "keypress", hotSave);
function hotSave(evt) {
evt = evt || window.event;
var key = evt.keyCode || evt.which;
key = String.fromCharCode(key).toLowerCase() == "s";
if (evt.ctrlKey && key) {
if(evt.preventDefault) evt.preventDefault();
evt.returnValue = false;
clientFunction();
window.focus();
return false;
}
}
function clientFunction() {
alert(
"Все материалы представлены на этой страницы исключительно для ознакомления.\n"+
"Цитирование материалов сайта возможно только с указанием активной гиперссылки на цитируемую страницу и с письменного разрешения администрации сайта."
);
}
function notmenu() { window.event.returnValue=false; }
document.ondragstart = test;
document.onselectstart = test;
document.oncontextmenu = test;
function test() {
return false
}
текст не копируется, правая кнопка не работает. Правда от "сохранить как" из меню это не спасает ;) Да и все мы знаем как пакетно наделать скринов и пакетно прогнать по FineReader для вытаскивания текста (это на крайняг) ;)
padre спасибо попробую щас. +
Zirkul добавил 27.08.2009 в 09:53
padre я создал файл .txt и сохранил его с названием test.html получилось так:
написал в нем это:
<head>
<script type="text/javascript" src="wedono.js"></script>
</head>
<body oncontextmenu="notmenu();>
а вот и текст. пробуем его скопировать
</body>
Далее сознал файл .txt и сохранил его с названием wedono.js получилось так:
и написал в нем это:
function preventSelection(element){
var preventSelection = false;
function addHandler(element, event, handler){
if (element.attachEvent)
element.attachEvent('on' + event, handler);
else
if (element.addEventListener)
element.addEventListener(event, handler, false);
}
function removeSelection(){
if (window.getSelection) { window.getSelection().removeAllRanges(); }
else if (document.selection && document.selection.clear)
document.selection.clear();
}
function killCtrlA(event){
var event = event || window.event;
var sender = event.target || event.srcElement;
if (sender.tagName.match(/INPUT|TEXTAREA/i))
return;
var key = event.keyCode || event.which;
if (event.ctrlKey && key == 'A'.charCodeAt(0))
{
removeSelection();
if (event.preventDefault)
event.preventDefault();
else
event.returnValue = false;
}
}
addHandler(element, 'mousemove', function(){
if(preventSelection)
removeSelection();
});
addHandler(element, 'mousedown', function(event){
var event = event || window.event;
var sender = event.target || event.srcElement;
preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
});
addHandler(element, 'mouseup', function(){
if (preventSelection)
removeSelection();
preventSelection = false;
});
addHandler(element, 'keydown', killCtrlA);
addHandler(element, 'keyup', killCtrlA);
}
preventSelection(document);
function addHandler(object, event, handler, useCapture) {
if (object.addEventListener) {
object.addEventListener(event, handler, useCapture ? useCapture : false);
} else if (object.attachEvent) {
object.attachEvent('on' + event, handler);
} else alert("Add handler is not supported");
}
var ua = navigator.userAgent.toLowerCase();
var isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1);
var isGecko = (ua.indexOf("gecko") != -1);
if (isIE) addHandler (document, "keydown", hotSave);
else addHandler (document, "keypress", hotSave);
function hotSave(evt) {
evt = evt || window.event;
var key = evt.keyCode || evt.which;
key = String.fromCharCode(key).toLowerCase() == "s";
if (evt.ctrlKey && key) {
if(evt.preventDefault) evt.preventDefault();
evt.returnValue = false;
clientFunction();
window.focus();
return false;
}
}
function clientFunction() {
alert(
"Все материалы представлены на этой страницы исключительно для ознакомления.\n"+
"Цитирование материалов сайта возможно только с указанием активной гиперссылки на цитируемую страницу и с письменного разрешения администрации сайта."
);
}
function notmenu() { window.event.returnValue=false; }
document.ondragstart = test;
document.onselectstart = test;
document.oncontextmenu = test;
function test() {
return false
}
Все равно текст копируется может я что то не так сделал? Сайт на движке joomla 1.5
Zirkul, только правовые способы.
никто не запретит любому посетилю инетрнета сохранить вашу страничку локально на свой компьютер и вытащить оттуда ваш текст.
О том, как защищать контент правовыми способами подробно писалось здесь
Весь выше указанный код это для защиты от "ламеров"
В доказательство скажу следующее
на вашей странице делаю:
1. ctrl+a
2. ctrl+с
3. затем создаю .txt документ в котором делаю
4. ctrl+v
5. а дальше техника, убираю все лишнее .
PS если хотите более-мение зашетить контент то посты нужно делать в картинках.
ибо распо тот же FineReader рабочий есть не у всех.
если хотите более-мение зашетить контент то посты нужно делать в картинках.
ибо распо тот же FineReader рабочий есть не у всех.
улыбнуло 😂
Уже обсуждалось, если кто-то целенаправленно хочет скопировать страницу, то никак.
Вот вариант
<body oncopy="alert ('Контент данного сайта копировать запрещаю '); return false;">
А лучшим вариантом будет, если у вас реально стоящие тексты, то заведите страницу в ЖЖ, и сразу после размещения анонсируйте её. Возможно вы будите считаться первоисточником.
Я лично так делаю. Контент моего сайта почти весь украден, но в выдаче я первый.
Вот вариант
<body oncopy="alert ('Контент данного сайта копировать запрещаю '); return false;">
А лучшим вариантом будет, если у вас реально стоящие тексты, то заведите страницу в ЖЖ, и сразу после размещения анонсируйте её. Возможно вы будите считаться первоисточником.
Я лично так делаю. Контент моего сайта почти весь украден, но в выдаче я первый.
вопрос а в выдаче с ПС первоисточник ЖЖ или Ваш сайт ?
Конечно мой, "Яндекс" безвылазно сидит в ЖЖ, и мгновенно съест статью на вашем сайте.
Например сделайте вот так
Гидроизоляция спутниковых тарелок
Сегодня в наем мире важен уровень качества сигнала, но
не многие компании умеют чистить провода для лучшей
спутникопроводимости.
Гидроизоляция спутниковых тарелок
У меня на первом месте в Я: http://www.chishma.ru/tarelki/tarelki.html
Текст - уник.