Digs - Персональная территория

Авторский проект Артема Глазкова
? 
        Версия для печати (цвет)  

PHP, Apache, Web
» Защита статей с помощью клоакинга
» Динамика в статику (mod_rewrite)
» Зацикливание (mod_rewrite)
» Борьба с почтовым спамом

Использование материалов
Заметка #7
27 мая 2005

Защита статей с помощью клоакинга


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

    Что такое клоакинг
    Суть клоакинга состоит в выдаче разных страниц поисковому роботу и обычному пользователю. Самый простой способ реализации, это анализ переменной $_SERVER["HTTP_USER_AGENT"]. На мой взгляд, нет смысла знать имена всех роботов, достаточно проверить только некую подстроку. Например, все роботы Яндекса имеют в названии строку "yandex". Далее нужно быть в курсе всех появляющихся роботов и вовремя обновлять базу имен на своем сайте.
    Вот пример определения посещения роботом:

$isrobot false;
if (isset(
$_SERVER["HTTP_USER_AGENT"])) {
  
$s strtolower($_SERVER["HTTP_USER_AGENT"]);
  
$robots file("robots.list");
  foreach(
$robots as $r){
    
$r str_replace("\n","",$r);
    
$r str_replace("\r","",$r);
    if (
strpos($s,strtolower($r))!==false){
      
$isrobot true;
      break;
    }
  }
}

    Файл robots.list на данный момент у меня такой:

Yandex
Google
Rambler
Aport
Yahoo
All.by
Inktomi
Turnitin
AltaVista
Poisk.Com
IA Archiver
Lycos
Gigablast
Fast
Turtle
MSN


    Суть метода
    Суть метода состоит в том, чтобы отдать статью поисковому роботу в ее нормальном виде. Если же приходит обычный пользователь, то произвести замену некоторых символов русского алфавита на латинские буквы, схожие по начертанию. Например, заменить русскую «рэ» на латинскую «пи». Всего, исключая строчные, 6-7 букв.
    Оправдательный аргумент такого метода - статья выглядит так же, как и должна. Т.е. пользователь находит именно то, что и искал.
    
    Смысл защиты
    Допустим, некий человек собирается скопировать статью, с целью опубликовать ее на своем сайте. Здесь я вижу четыре варианта:
    1. Статья копируется, как есть. В этом случае поисковые системы проиндексируют статью, но так как она записана с наличием латинских символов, данная статья не будет искаться, если ее запрашивать как обычно русскими словами.
    2. Ворующий пишет процедуру, которая делает обратное преобразование. Все отлично, но если статьи имеют вставки исходных кодов, то такие куски также будут изменены. Таким образом:
        а) скопированный скрипт из статьи откажется работать;
        б) идентификаторы встречающиеся в скрипте не будут искаться поисковой системой.
    3. Либо статья перенабирается руками, либо используется второй вариант, но применительно к выборочным кускам статьи. В любом случае это требует некоторых временных затрат. Есть вероятность, что пользователи, которые блуждают по сети и вставляют себе на сайт, все что понравится, просто откажутся от такой статьи, так как она потребует время на преобразование.
    4. Написать интеллектуальную программу, которая будет различать в статье латинские и русские слова и преобразовывать только русские. На данный момент я не слышал о данном методе защиты, поэтому программы которые позволят преобразовать статью к нормальному виду, появятся еще не скоро.

    Мысли обо всем
    Хотя меня никто особо не поддержал, мне кажется данный метод законным, хотя я и не старался получить подтверждение этого у поддержки какой либо поисковой системы. Мне знакомы несколько методов легального использования клоакинга. Один из них касается сайтов написанных целиком на флешанимации. Флеш не позволяет поисковой системе проиндексировать такой сайт, так как роботы просто не умеют разбирать флешфайлы. В таком случае роботу отдается просто текстовая страница, полностью идентичная по содержанию флешстранице.
    Почему же я не использовал данный метод? Как я неоднократно писал, мой сайт является моим самовыражением, и меня абсолютно не тревожит, что его позиция в поисковой системе может оказаться ниже, чем у сайта, который взял у меня статью. Также защита не была поставлена потому, что я не стараюсь препятствовать распространению своих статей, хотя и надеюсь, что господа скопировавшие поставят на своих сайтах ссылку на оригинал.
    Плюс ко всему в статье пропадает возможность найти слово через поиск в браузере (Ctrl+F). Это не очень хорошо. Пользователь приходит из поисковой системы делая запрос по некоторому слову, но не может его найти в статье, хотя оно там есть.
    


© 2005-16, Powered By Digs (Написать письмо, vk)