Наверное, ни для кого не будет секретом такая неприятная вещь, как плагиат - это когда молодой и не опытный веб-мастер (чаще всего школота) выкладывает на своём сайте материалы, найденные на других веб-сайтах, даже не думая указывать источник. В каких целях веб-мастер это делает - сказать сложно, но, поисковики, как известно, не очень любят одинаковый контент на разных сайтах. И не всегда они правильно определяют, где оригинал, а где - плагиат. Да и кому будет приятно видеть, честно работая над своим сайтом, печатая оригинальные статьи, как некто копирует их и выкладывать на своём сайте, за счёт чего повышая его в выдачах поисковика? Попытаемся в таком случае что-то с этим негодяйством поделать. Например, усложнить работу гнусным плагиатором. Совершенно случайно наткнулся в интернете на довольно интересный способ защиты текста от копирования. Заключается он в следующем...
Создаём CSS-правило, например:
Code
.copyBlocker {unicode-bidi: bidi-override; direction: rtl}
Далее применяем это на деле, для этого пишем свой текст в обратном порядке, т.е.:
Code
<span class="copyBlocker">тскет йытунрёвереп шаВ</span>
В итоге, если просматривать страницу в браузере, текст будет нормальным: "Ваш перевёрнутый текст". Если же смотреть исходник страницы, то, естественно, там текст будет перевёрнутым. А теперь самое интересное: если текст страницы выделить и скопировать, то в буфер обмена он попадёт без обработки правила CSS, т.е. в оригинале - перевёрнутым! Правда, на практике такое решение врядли можно применить: дело в том, что поисковики CSS врядли понимают, они даже не все HTML-теги понимают, так что скорее всего в индексе ваши статьи будут в перевёрнутом виде, т.е., никому не нужные. Да и написать на PHP скрипт, который бы смог перевернуть текст обратно - не так уж и сложно, особенно если среди школоты найдётся более менее продвинутый человек.
Можно попробовать использовать JavaScript. Например, как в этом примере:
Code
<html>
<head>
<script type="text/javascript">
function test() { return false; }
document.ondragstart = test; //запрет на перетаскивание
document.onselectstart = test; //запрет на выделение элементов страницы
document.oncontextmenu = test; //запрет на выведение контекстного меню
</script>
</head>
<body>
Ваш текст
</body>
</html>
Но никто не помешает пользователю просмотреть исходный код страницы и оттуда вытащить текст простым Copy/Paste. Можно, однако, использовать что-то вроде "шифровальщика javascript", который бы расшифровывал заранее закодированный текст, например, как в этом примере:
Code
<html>
<head>
<script type="text/javascript">
function decode (data) {
data = escape(data);
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc='';
do { // unpack four hexets into three octets using index points in b64
h1 = b64.indexOf(data.charAt(i++));
h2 = b64.indexOf(data.charAt(i++));
h3 = b64.indexOf(data.charAt(i++));
h4 = b64.indexOf(data.charAt(i++));
bits = h1<<18 | h2<<12 | h3<<6 | h4;
o1 = bits>>16 & 0xff;
o2 = bits>>8 & 0xff;
o3 = bits & 0xff;
if (h3 == 64) enc += String.fromCharCode(o1);
else if (h4 == 64) enc += String.fromCharCode(o1, o2);
else enc += String.fromCharCode(o1, o2, o3);
} while (i < data.length);
return unescape(enc);
}
</script>
</head>
<body>
<script type="text/javascript">
/*
В исходном коде страницы текст "Мой текст" будет выглядеть как "zO7pIPLl6vHy"; обратите внимание что для автоматизма конвертирования здесь использован PHP
*/
document.write(decode("<?php echo base64_encode('Мой текст'); ?>"));
</script>
</body>
</html>
Однако, опять же, поисковики не понимают javascript и, соответственно, ваши статьи проиндексированы не будут.
Но даже если вы сможете защитить ваш текст полностью от копирования и не создать проблему для индексации, это не помешает особо упёртым просто тупо заново напечатать читаемый текст. Как же тогда быть? Ответ прост: если вам так дорог ваш сайт и его контент, то, может быть, стоит зарегистрировать юридическое лицо, зарегистрировать авторские права на материалы? Всё остальное за вас сделает закон.