SEoDOR Cloaker Script v.2.0


Настройки модуля
Установка модуля на SEoDOR
Установка на любой другой скрипт, CMS, дорген
Удаленная установка модуля в виде вашего сервиса клоакинга
Дополнительная проверка юзеров через JavaScript
Формат файлов *list_host.txt и *list_ua_bot.txt
Формат файла *list_ip.txt
Отлов IP ботов через "невидимую" ссылку
Подключение модуля для статического режима

Настройки модуля

Перед установкой модуля рекомендуется его настроить. Настройки модуля находятся в файле cloaker_script.php:

Установка модуля на SEoDOR

  1. Загрузите файлы модуля из папки module в папку с доргеном.
  2. В conf.php доргена найдите и включите опцию:
    $cloaka = 1; // Модуль "Клоака + статистика" (1 - ДА, 0 - НЕТ)
  3. Установите права на запись папки inc/mods/cloaka/data/ и на все файлы в ней.
  4. Готово!
После подключения модуля в APPS будет доступна вкладка "Статистика посещений", а в шаблоне доргена появится поддержка следующих макросов:
[NO_CACHE]
[I_CLOAKA_BOT]контент только для ботов, юзеры его не увидят[/I_CLOAKA_BOT]
[I_CLOAKA_USER]контент только для юзеров, боты его не увидят[/I_CLOAKA_USER]
[/NO_CACHE]

Обратите внимание - макросы модуля нужно прописывать между макросами [NO_CACHE]!

Установка на любой другой скрипт, CMS, дорген

  1. Загрузите файлы модуля из папки module в папку с вашим скриптом (модуль должен находится в папках согласно путям inc/mods/cloaka/).
  2. Для подключения модуля в вашем скрипте пропишите следующий код:
    <?php
    // Модуль SEoDOR Cloaker Script
    define ('SEODOR', true);
    include ('inc/mods/cloaka/cloaker_script.php');
    $is_bot = cloaka($userIP, $uagent);
    
    if(empty($is_bot)){
    	// это юзер
    	echo '<script type="text/javascript">var q = "кей";</script>';
    	echo '<script type="text/javascript" src="http://site/jscs.min.js"></script>';
    }
    
    if(!empty($is_bot)){
    	// это бот
    }
    ?>
    
  3. Установите права на запись папки inc/mods/cloaka/data/ и на все файлы в ней.
  4. Готово!

Удаленная установка модуля в виде вашего сервиса клоакинга

  1. Загрузите файлы модуля из папки module (серверная часть) на хостинг (модуль должен находится в папках согласно путям inc/mods/cloaka/).
    Можно загрузить на хостинг и сам дорген SEoDOR с установленным модулем - в этом случае будет работать статистика посещений ботов и юзеров!
  2. Из папки remote_site загрузите файлы на хостинг, где необходима удаленная работа модуля клоакинга (это клиентская часть).
  3. В файле check_is_bot.php укажите путь к файлу remote.php и ключ, с которым разрешено подключаться к модулю (придумайте любой ключ и укажите такой же в файле модуля inc/mods/cloaka/remote.php, чтобы кто угодно не смог использовать сервис).
  4. Подключите модуль к вашему скрипту согласно примеру из файла example.php.
  5. Настройте и скопируйте также на хостинг файл jscs.min.js - для использования дополнительной проверки юзеров через JavaScript.
  6. Готово!
Модуль будет удаленно работать согласно его настройкам.

Дополнительная проверка юзеров через JavaScript

В архиве находятся два одинаковых по функционалу файла jscs.js и jscs.min.js - это JS Cloaker Script. Отличие между ними это то, что файл jscs.min.js сжат.
Загружать на рабочий сайт рекомендуется сжатый файл или обфусцированный вами лично, чтобы открытый код JS-файла был немного "закрытый".
  1. Загрузите файл jscs.min.js в корень сайта, перед этим указав в нем URL слива/ТДС.
  2. В настройках модуля активируйте опцию $js_cloaker.
  3. Затем, для подключения дополнительной проверки юзеров через JavaScript, в шаблоне доргена пропишите следующий код:
    [NO_CACHE]
    [I_CLOAKA_USER]
    	<script type="text/javascript">var q = '[L_QUERY_FULL]';</script>
    	<script type="text/javascript" src="[S_DOR_URL]jscs.min.js"></script>
    [/I_CLOAKA_USER]
    [/NO_CACHE]
    
Что получается? - Если модуль определил посетителя сайта как юзера, то ему устанавливается Кука и отдается скрипт JS Cloaker Script, который, сначала, проверяет эту Куку, затем удаляет ее и, после успешного удаления отдает юзеру фрейм или редирект.

Формат файлов *list_host.txt и *list_ua_bot.txt

В файлах HostIP (*list_host.txt) и User Agent (*list_ua_bot.txt) поддерживаются регулярные выражения (их нужно прописывать между ~этими символами~), а также "упрощенные" регулярки:
^ - начало строки;
$ - конец строки;
* - любое количество любых символов.
В "упрощенной" регулярке спец. символы экранировать не нужно.

Формат файла *list_ip.txt

Списки IP поддерживают такие форматы:
123.123.123.123
123.123.123.0-123.123.123.255
123.123.123.0/24
Если посетитель зашел под IPv6, то он автоматически считается ботом.

Отлов IP ботов, которые заходят по "невидимой" ссылке на страницу site.ru/bot.htm

  1. Скопируйте файл из папки module/templates/example/bot.html в папку с шаблоном - это скрипт отлова ботов.
  2. В шаблоне пропишите невидимую ссылку на страницу bot.htm:
    <a href="bot.htm" style="display: none;">click</a>
    либо ссылку-картинку в один пиксель:
    <a href="bot.htm"><img src="pixel.jpg" alt="" border="0" /></a>
Посетители не будут видеть эту ссылку, но боты по ней будут заходить, после чего ихние IP-адреса будут попадать в список ботов модуля list_ip.txt.
Файл шаблона со скриптом отлова ботов можете называть как угодно, но не забывайте - адрес ссылки должен быть таким же (пользовательские страницы).

PS. В файле bot.html можно прописать еще какую-нибудь информацию/макросы, чтобы страница не была пустой и подозрительной.

Подключение модуля для статического режима

  1. Если вы используете в статическом режиме расширение страниц .html, то вам необходимо будет на клиенте создать файл .htaccess с таким содержимым:
    AddType application/x-httpd-php .html .htm
    либо в настройках доргена укажите расширение страниц .php
  2. Скопируйте файл из архива с модулем remote_site/check_is_bot.php в папку с шаблоном.
  3. В шаблоне page.html пропишите такой код:
    <?php
    include $_SERVER['DOCUMENT_ROOT'].'[S_TEMPL]check_is_bot.php'; // путь к файлу в папке с шаблоном
    
    if(empty($is_bot)){
     // выводим контент для юзера, боты его не увидят
     echo 'это юзер!';
    }
    
    if(!empty($is_bot)){
     // выводим контент для бота, юзеры его не увидят
     echo 'это бот!';
    }
    ?>
  4. В файле доргена inc/templ.php закомментируйте или удалите эти строки:
    if (preg_match_all('~<\?([^p]|php)(.*)\?>~Us', $templ, $m, PREG_SET_ORDER)) {
    	for ($i = 0; $i < count($m); $i++) {
    		$templ = preg_replace('~<\?([^p]|php)(.*)\?>~Us', eval_code(''), $templ, 1);
    	}
    }
    

    чтобы при генерации страниц дорген не выполнял php код, а оставлял его в шаблоне.