За последние 24 часа нас посетили 49696 программистов и 1728 роботов. Сейчас ищет 621 программист ...

Как определить наверняка, что сайт качается программой?

Тема в разделе "Прочие вопросы по PHP", создана пользователем Frai, 9 фев 2016.

  1. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Приветствую! Собственно требуется определить, до отдачи php страницы целиком, не программой ли скачивается в данный момент сайт.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Сайт всегда качается программой, ибо человеческий мозг не приспособлен для восприятия волн вай-фая в чистом виде.
     
  3. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Задача, которая стоит передо мной не включает изучение работы мозга, так что ограничусь определением различия между посетителем сайта и специальной программой для скачивания сайта и использованием его впоследствии оффлайн или еще как-то.
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Технически невозможно. Исключение составляет вариант с предварительным прохождением посетителем теста Тьюринга до отдачи контента страницы, если это вас как-то обнадежит, тс.
     
  5. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    А что в вашем понимании пользователь ? User-agent ? Хотите чтобы сайт не скачивался программой - капчуйте на каждый чих.
     
  6. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Навскидку, например, что с одного IP большая частота посещений за час. На сайте больше 1000 страниц. Переход по кнопке без наведения на неё курсором? Я так понимаю, что моднее делать программы для скачивания, чем их вычислять, но тем не менее прошу мне помочь.
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    просто вариант как уже писали выше, через User-agent, но это не 100%.

    ну а насчет перехода не наводя мышь, ну надо писать на JS такую штуку, в принципе можно, не так уж и сложно, правда геморройно.
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Продвинутые боты умеют имитировать мышку везде, где это возможно. С другой стороны, тупо запрещать пользоваться сайтом, если чел пару раз кликнул Tab и потом Enter.
    Такие сайты как Google анализируют поведение. Можно положиться на ИНС: обучать её по нескольким параметрам (частота переходов, время просмотра, скроллинг и т.д.), и если клиент выбивается из группы Люди, то требовать с него каждый раз каптчу.
     
  9. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    А как насчёт перехода по скрытой ссылке, например картинка прозрачная размер 1px, посетитель врятли перейдет по такой, а парсер наткнется
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А тебя какой бот интересует? Поисковик перейдет, ибо он всё скачивает, а если он выполняет конкретные действия, то зачем ему левые ссылки?
     
  11. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Теоретизм подсказывает что поисковикам это не понравится, хз.
    Мне кажется достаточно капчи через 15-20 запросов в минуту. Если не поможет это, то ничего не поможет. Ну окромя всяких сервисов предлагающих прогон через их фильтр, а потом доступ к сайту.
     
  12. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    а в чем проблема?
     
  13. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Вангую, кстати, что у ТС заблокирована правая кнопка мыши на сайте.
     
  14. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Хочу защитить сайт от скачивания спецпрогой. Она проходит по всем ссылкам. Так попытаться вычислить её.

    Добавлено спустя 1 минуту 42 секунды:
    Нет, но помчался делать =)
     
  15. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Давай закончим на том, что достаточно много людей, в том числе и я, уверенно парсят яшу в любых местах, а что до тебя, то как бы ты не пытался вычислить и подстроить алгоритм, всегда найдётся свободная прокся.
     
  16. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Да я особо и не надеялся на чудо)
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    яваскрипт который ставит куку. Нет куки - нет контента.
     
  18. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Проблема в том, что бота можно сделать на основе расширения для хрома. Оно пишется легко и имеет доступ к DOM через JS (так работет адблок и т.д.), так что все JS отработают, сложносочиненные кнопки проявятся и т.д.
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ой бля ну всё, если бот-браузер пришёл, то туши свет, в интернете воруют!
     
  20. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Если вопрос чист сторить инфу с сайта, то кроме каких-то невероятных ботов существуют вполне реальные и навороченные оффлайн-браузеры.
     
  21. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Ладно, вопрос поставлю по-другому, как сделать, чтобы контент был скачан, но локально не запускался? В моём случае сайт скачивают, чтобы пользовать для себя на винчестере. Другую тему не нужно заводить для этого?
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в смысле не запускался?
     
  23. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну разве что сделать какую-то самодостаточную программу которая уничтожится если будет запущена вне сайта.
    текст который передан от сервера к клиенту - уже у клиента. он уже может им пользоваться. когда захочет.
     
  24. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Например файл определяет, что запущен локально и удаляет себя. Только я не уверен, что такое можно сделать с помощью js...
     
  25. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Запилить замудренный rich-client на чем-то вроде React. Если изобретешь таблетку от пиратства, толкни Михалкову за лиард.