Как понять, когда нужно обновить отпечаток?



  • Как я представляю схему начала работы с ботом:

    • Допустим есть какой то сайт с регистрацией.
    • Создаем локальный профиль в БАС для нового аккаунта
    • Генерируем и применяем отпечаток
    • Регистрируемся на сайте с этим аккаунтом и логинимся
    • Далее каждый раз на старте треда, загружаем существующий локальный профиль, чтобы не логиниться каждый раз.

    Мой вопрос:
    Как мне кажется, будет подозрительно, если отпечаток будет статичным долгое время. Поэтому его надо время от времени обновлять. Но генерировать совершенно новый отпечаток тоже ведь подозрительно. В идеале должны меняться только некоторые параметры, типа версии браузера. Как можно достичь такого поведения?



  • @baghead С чего вы взяли что именно не обновляемый браузер в отпечатки будет критически подозрительным для сайта? За этим стоит какая нибудь статистика или может быть исследование?
    По поводу того как обновлять браузер в отпечатке, это довольно просто, когда вы получаете отпечаток в переменную, и сохраняете её в текстовый файл в профиль, инфа о версии браузере и о юзер агенте в целом сохраняется в этом файле.
    В принципе можно сделать скрипт который будет искать все файлы отпечатков в профилях, далее например с помощью регулярки находить в этих файлах версию браузера и заменять на ту которую вы укажите. Ну и потом когда отпечаток будет прочитан из файла и применён там будет обновлённый браузер.



  • @gr-al-ni Спасибо за ответ.
    Нет, статистикой подкрепить не могу. Внес уточнение в свой пост, что это только мое предположение, что сеть ботов, сидящих со старых версий браузеров, и вообще со статичными отпечатками, будет выделяться. Я ошибаюсь?

    Да примерно такую схему обновления я представлял, но думал может есть более удобное решение, или над таковым ведется работа.



  • @gr-al-ni said in Как понять, когда нужно обновить отпечаток?:

    далее например с помощью регулярки находить в этих файлах версию браузера и заменять на ту которую вы укажите.

    Отпечаток хранится в json виде, парсить его проще методом JSON.parse(). Да и версия браузера находится в user-agent, который можно поменять через действие "установить заголовок".

    @baghead said in Как понять, когда нужно обновить отпечаток?:

    будет подозрительно, если отпечаток будет статичным долгое время

    А лично вы, как часто меняете конфигурацию своего пк, или операционную систему, да хотя бы сам браузер, или плагины в нём со шрифтами? Отслеживать эти параметры будут скрипты сайта, сомневаюсь, что в защите будет нейронная сеть, которой покажется подозрительным статичный отпечаток за долгое время. А если на сайте именно сложная антибот система, то вычислять ботов будут по поведенческим параметрам, а не отпечатку.



  • @fox
    Браузер стараюсь держать всегда последней версии. Но да, наверно я слишком заморачиваюсь.



  • А я задумался сделать скрипток, который бы при открытии в браузере формировал его фингерпринт, но покопавшись сегодня несколько часов в файле jfingerprint.json и сервисах, снимающих отпечаток, понял, что я с трудом понимают, что там происходит.
    Может у кого есть какие-то идеи или наработки в этом направлении?



  • @yumilen said in Как понять, когда нужно обновить отпечаток?:

    А я задумался сделать скрипток, который бы при открытии в браузере формировал его фингерпринт

    А смысл? Есть же уже готовый сервис



  • Ну, как зачем?
    Чтобы отпечаток бота был похож на отпечаток используемого браузера, через который также время от времени входишь в те же аккаунты...



  • @yumilen said in Как понять, когда нужно обновить отпечаток?:

    Ну, как зачем?
    Чтобы отпечаток бота был похож на отпечаток используемого браузера, через который также время от времени входишь в те же аккаунты...

    По моему будет проще просто сохранить отпечатки для каждого аккаунта. С точки зрения сайта будет не страшно переодически заходить с двух браузеров по очереди. А вот использовать отпечаток один для многих аккаунтов уже черевато, и не важно какой сервис используешь. Или у вас стоит множество браузеров каждый для своего аккаунта?



  • @Fox said in Как понять, когда нужно обновить отпечаток?:

    Отпечаток хранится в json виде, парсить его проще методом JSON.parse(). Да и версия браузера находится в user-agent, который можно поменять через действие "установить заголовок".

    Помогите пожалуйста разобраться с парсингом отпечатка.
    Читаю содержимое отпечатка из профиля в переменную, затем выполняю следующее:

    [[FILE_CONTENT]] = JSON.parse([[FILE_CONTENT]]);
    [[FILE_CONTENT]] = [[FILE_CONTENT]].filter(element => {element.indexOf("User-Agent") >=0});
    

    Выдает ошибку ещё на этапе конвертирования json в обьект.



  • @Daniel Отпечаток храниться в профиле и загружается из него автоматически. При загрузке профиля вы можете выбрать опцию "Всегда загружать отпечаток из профиля". Если вам всё же приспичило получить отпечаток именно в переменную, то, насколько я помню, после загрузки профиля отпечаток храниться в специальной переменной, к которой можно обратиться через действие "Выполнить код". Надо только слазить в код скрипта и посмотреть, как эта переменная называется. А вообще, странный какой-то тренд пошёл на задавание вопросов в топиках, которым уже по несколько лет



  • @DoctorKrolic said in Как понять, когда нужно обновить отпечаток?:

    А вообще, странный какой-то тренд пошёл на задавание вопросов в топиках, которым уже по несколько лет

    В данном топике я нашел частичный ответ на мой вопрос, потому продолжил его.

    @DoctorKrolic said in Как понять, когда нужно обновить отпечаток?:

    Если вам всё же приспичило получить отпечаток именно в переменную

    Я проверяю версию браузера, который сохранен в профиле и если он устаревший, то обновляю его.
    Сам отпечаток успешно читаю в переменную из файла fingerprint.json, проблема потом найти в нем нужное.



  • @Daniel Если вы читаете fingerprint.json, то отпечаток можно получить следующим образом:

    [[FINGERPRINT]] = JSON.parse([[FILE_CONTENT]]).fingerprint;
    

    Если вам нужен user-agent, то:

    [[USER_AGENT]] = JSON.parse([[FINGERPRINT]]).ua
    

    На вашем месте я бы получил список тегов из отпечатка (они там тоже сохраняются), чтобы по ним получить новый, дабы на целевом сайте не происходило перекоса статистики посещений в сторону тех или иных браузеров:

    [[TAGS]] = JSON.parse([[FINGERPRINT]]).tags
    

    Данный код вернёт список, его нужно будет склеить в строку, разделённую запятыми, чтобы эту строку использовать в качестве тегов. Для этого есть действие в модуле "Строка", не помню, правда, как оно называется



  • @DoctorKrolic
    Огромное спасибо за такой подробный ответ. Получил даже больше информации, чем спрашивал.
    Все, что Вы написали работает и я уже успешно это применил у себя.


Log in to reply
 

  • 6
  • 3
  • 2
  • 1
  • 2
  • 5
  • 3
  • 11