Детект гуглоБота

Тема в разделе "Курилка / Flood", создана пользователем TopperHarley, 16 фев 2018.

  1. TopperHarley

    TopperHarley Administrator Команда форума

    Последнее редактирование: 17 апр 2018
    Force и user913194 нравится это.
  2. TopperHarley

    TopperHarley Administrator Команда форума

    Оригинальный скрипт:

    PHP:
     <script>

            function 
    superRandom(iterationsdepth) {

                for (
    a=1a<=iterationsa++)
                {
                    
    num Math.random()*10000;
                }

                if (
    depth 0)
                {
                    return 
    superRandom(Math.max(num1), depth-1);
                }else{
                    return 
    num;
                }
            }

            
    num superRandom(12*4*6*9);

            if (
    num  1)
            {
                
    document.write("ТЫ Googlebot! ");
            }else{
                
    document.write("ТЫ ЧЕЛОВЕК! ");
            }

        </
    script>
     
    Последнее редактирование: 17 апр 2018
    user728498 нравится это.
  3. kyrtoff

    kyrtoff New Member

    Доброго! Это более эфективный метод определения гугл бота нежели использование родной клоаки? Но данный метод только для гугл бота, а как совместить этот способ определения гугл бота с родной клоакой?
     
  4. TopperHarley

    TopperHarley Administrator Команда форума

    этот способ именно под гуглоБота, его надо комбинировать с родной клоакой на последнем этапе js проверки
     
    13thcannabis нравится это.
  5. kyrtoff

    kyrtoff New Member

    Спасибо большое за информацию! Очень прошу помочь прийти к пониманию вопроса и осуществлению данной комбинации!

    Это например так? :
    {FORHUMAN}
    <script>
    function grnd(iterations, depth) {
    for (i=1; i<=iterations; i++)
    num = Math.random()*10000;
    if (depth > 0)
    return grnd(Math.max(num, 1), depth-1);
    else
    return num;
    }
    if (grnd(1, 432) >= 1)
    {
    alert('
    //код вывода фрейма или редирект
    //...
    ');
    }
    </script>
    {/FORHUMAN}

    Тоесть если задетектило что человек , то еще раз проверяем этим скриптом и если уже точно человек то показываем фрейм?

    Или комбинирование с родной клоакой на последнем этапе js проверки - это имеется ввиду настрйока
    $check_cookie – отправлять ли куки для js проверки и как тогда произвести эту комбинацию?
     
  6. TopperHarley

    TopperHarley Administrator Команда форума

    Я бы сделал в js проверке после пропверки куков еще проверить бота этим кодом
     
  7. kyrtoff

    kyrtoff New Member

    Прошу прощения возможно мой вопрос будет крайне тупым , а как осуществить вообще js проверку? Я никогда не включал ее в настройках cloaking.php . В файле readme написано
    " $check_cookie – отправлять ли куки для js проверки

    Пример js проверки куки, сохраненной параметром $check_cookie:
    <script> function getCookie(name) {
    var value = "; " + document.cookie;
    var parts = value.split("; " + name + "=");
    if (parts.length == 2) return parts.pop().split(";").shift();
    }
    if (getCookie('js')=='on') {
    //код вывода фрейма или редирект
    //...
    }
    </script> "
    Тоесть я включаю $check_cookie в cloaking.php, затем в шаблоне размещаю код проверки куки и в нем на место кода для фрейма вставляю дополнительный код проверки гугл бота и уже в нем код фрейма или редиректа или кнопки ? )) И все это заключить еще в теги клоаки {FORHUMAN}{/FORHUMAN} ?
     
    Последнее редактирование модератором: 17 апр 2018
  8. TopperHarley

    TopperHarley Administrator Команда форума

    Осуществить так

    В файле cloaking.php включаем сохранение куки: $check_cookie = 1;
    Далее у пользователя будет/не будет кука. Ее и надо проверить. Это делается кодом который есть на вики.
    После проверки что пришел человек еще дополнительно проверяем скриптом что не хитробот.

    PHP:
    {FORHUMAN}
    <
    script>
    function 
    getCookie(name) {
      var 
    value "; " document.cookie;
      var 
    parts value.split("; " name "=");
      if (
    parts.length == 2) return parts.pop().split(";").shift();
    }

    function 
    superRandom(iterationsdepth) {
        for (
    a=1a<=iterationsa++)
        {
            
    num Math.random()*10000;
        }

        if (
    depth 0)
        {
            return 
    superRandom(Math.max(num1), depth-1);
        }else{
            return 
    num;
        }
    }

    num superRandom(12*4*6*9);

    if (
    getCookie('js')=='on' && num  >= 1) {
      
    alert('SLIV'); //тут действие после всех проверок
    }
    </
    script>
    {/
    FORHUMAN}
     
    miha нравится это.
  9. yurik

    yurik Member

    Скажите - а можно (имеет ли смысл) в ('SLIV'); запихнуть код тдски /// как то так?

    ...
     
    Последнее редактирование модератором: 18 апр 2018
  10. yurik

    yurik Member

    Затестил - тдска работает!
     
  11. kyrtoff

    kyrtoff New Member

    Код который есть на вики вставляется просто на странице? Я так понимаю до использования тега {FORHUMAN} ?
     
  12. TopperHarley

    TopperHarley Administrator Команда форума

    Что?
     
  13. kyrtoff

    kyrtoff New Member

    Все отлично спасибо ! Я не сразу понял что код выше описанный объединяет код с http://wiki.toppersoft.ru/ru/cloaking для js проверки и код проверки гугл бота. Спасибо TopperHarley за вашу заботу и понимание.
     
  14. TopperHarley

    TopperHarley Administrator Команда форума

    Не за что) Пытался понять, но решил уточнить вопрос
     
  15. alex778811

    alex778811 Member

    Почему не работает?
    'SLIV'
    ставлю между кавычками кейтаровскую клоаку click api client v2 , она не работает((
    а обычный скрипт редиректа работает.
     
    Последнее редактирование: 7 июл 2018
  16. TopperHarley

    TopperHarley Administrator Команда форума

    alert('SLIV') - это реакция на человека, ее нужно заменить на что-то осмысленной - то есть сделать слив на js
     
  17. realefs

    realefs Active Member

    не между, а вместо всей строки
    Код:
    alert('SLIV'); //тут действие после всех проверок
     
  18. Fau

    Fau New Member

    Кто-то использует этот метод? Почему по сервисам гугла он не определяет бота?
    Видел на дорах немного другую версию
    Код:
    <script>
        if (typeof superRandom === 'undefined') {
            function superRandom(iterations, depth) {
    
                for (a = 1; a <= iterations; a++) {
                    num = Math.random() * 10000;
                }
    
                if (depth > 0) {
                    return superRandom(Math.max(num, 1), depth - 1);
                }
                else {
                    return num;
                }
            }
            num = superRandom(1, 2 * 4 * 6 * 9);
        }
    
        
        if (num >= 1)
        {
    
    document.write("ТЫ ЧЕЛОВЕК! ");
    
    }
    </script>
    по сервисам она работает как надо, но не работает в мобильных браузерах.
     
  19. alex778811

    alex778811 Member

    Кто нибудь выложите рабочую версию
     
  20. kyrtoff

    kyrtoff New Member

    А есть рабочая версия?