@vadim2343
Удалось повторить, передано разработчику
(проверяется)
-
@ghostz Извиняюсь , когда в кучу собирал . Вылетело из головы по поводу того что хром не идет x64 в отличии от фф.
В том отпечатке нестыковка в app и юсер агенте т.к такой отпечаток отдал сервис с разхождением win nt
откорректировал пост выше . спасибо -
Про то что сайт эталон - никто не говорит . Просто это открытый источник , на который можно сослаться , который так же совпадает с выводами других более сложных систем анализа отпечатков .
Если так, то нужно ссылаться именно на эти системы, так как методы тестирования могут не совпадать. В одном тесте "webgl" может быть проверкой соответствия видеокарты списку расширений opengl, которая она поддерживает по какой-то внутренней базе, в другой это может быть отрисовка изображения и получения данных с помощью readPixels и оба теста могут писать "fake WebGL" по совершенно разным причинам.
Так же прошу проверить отпечатки на полное отсутствие weblg и аудио продублирую в данной теме :
если говорить о том что в браузере заблокирована отдача данных параметров .Именно так, если железо возвращает такие значения, то именно такие значения будет записано в базу.
Хорошо, если вы не верите, найдите устройство, которое вернет в результате выполнения данного кода
function() { var canvas = document.createElement('canvas') var result = {} var gl = null try { gl = ( canvas.getContext('webgl') || canvas.getContext('experimental-webgl') || canvas.getContext('moz-webgl') || canvas.getContext('webkit-3d') ) } catch (e) { } if (!gl) { gl = null } try { var extensionDebugRendererInfo = gl.getExtension('WEBGL_debug_renderer_info') result["unmaskedVendor"] = gl.getParameter(extensionDebugRendererInfo.UNMASKED_VENDOR_WEBGL) result["unmaskedRenderer"] = gl.getParameter(extensionDebugRendererInfo.UNMASKED_RENDERER_WEBGL) } catch (e) { } try { result["vendor"] = gl.getParameter(gl.VENDOR) result["renderer"] = gl.getParameter(gl.RENDERER) } catch (e) { } //try {result["aliasedLineWidthRange"] = gl.getParameter(gl.ALIASED_LINE_WIDTH_RANGE) } catch (e) { } //try {result["aliasedPointSizeRange"] = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE) } catch (e) { } try {result["alphaBits"] = gl.getParameter(gl.ALPHA_BITS).toString() } catch (e) { } try {result["blueBits"] = gl.getParameter(gl.BLUE_BITS).toString() } catch (e) { } try {result["depthBits"] = gl.getParameter(gl.DEPTH_BITS).toString() } catch (e) { } try {result["greenBits"] = gl.getParameter(gl.GREEN_BITS).toString() } catch (e) { } try {result["maxCombinedTextureImageUnits"] = gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS).toString() } catch (e) { } try {result["maxCubeMapTextureSize"] = gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE).toString() } catch (e) { } try {result["maxFragmentUniformVectors"] = gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS).toString() } catch (e) { } try {result["maxRenderBufferSize"] = gl.getParameter(gl.MAX_RENDERBUFFER_SIZE).toString() } catch (e) { } try {result["maxTextureImageUnits"] = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS).toString() } catch (e) { } try {result["maxTextureSize"] = gl.getParameter(gl.MAX_TEXTURE_SIZE).toString() } catch (e) { } try {result["maxVaryingVectors"] = gl.getParameter(gl.MAX_VARYING_VECTORS).toString() } catch (e) { } try {result["maxVertexAttribs"] = gl.getParameter(gl.MAX_VERTEX_ATTRIBS).toString() } catch (e) { } try {result["maxVertexTextureImageUnits"] = gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS).toString() } catch (e) { } try {result["maxVertexUniformVectors"] = gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS).toString() } catch (e) { } //try {result["maxViewportDims"] = gl.getParameter(gl.MAX_VIEWPORT_DIMS) } catch (e) { } try {result["redBits"] = gl.getParameter(gl.RED_BITS).toString() } catch (e) { } try {result["stencilBits"] = gl.getParameter(gl.STENCIL_BITS).toString() } catch (e) { } try {result["extensions"] = gl.getSupportedExtensions().join(",") } catch (e) { } try { result["shadingLanguage"] = gl.getParameter(gl.SHADING_LANGUAGE_VERSION); } catch (e) { } try { result["version"] = gl.getParameter(gl.VERSION); } catch (e) { } try { var ext = ( gl.getExtension('EXT_texture_filter_anisotropic') || gl.getExtension('MOZ_EXT_texture_filter_anisotropic') || gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic') ) if (ext){ result["maxAnisotropy"] = gl.getParameter(ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT).toString(); } } catch (e) { } return {key: "webgl", global: true, value: result} }пустые значения, и при этом в вашем тесте оно будет показывать какие-то значение, тогда предоставьте доступ к этому устройству, я исправлю.
x64 юсерагент на платформе 32 и с расходжением WIn в app версии и юсер агенте .
Открыл обычный хром.

И тоже расходжение "WIn в app версии и юсер агенте" и тоже Win32, хотя у меня X64 винда.
так же к Вам вопрос - откуда получает бас информацию о часовом поясе по ip ?
Из базы данных, которая иде с софтом. Вы можете ее менять. В этой теме описано детальней https://community.bablosoft.com/topic/5745
-
@support said in Не все отпечатки подменяются на f.vision:
Именно так, если железо возвращает такие значения, то именно такие значения будет записано в базу.
Хорошо, если вы не верите, найдите устройство, которое вернет в результате выполнения данного кодаДавайте не будем прям так сильно делать упор на это - я просто высказал свою точку зрения ) у Вас своя и это Ваш продукт и Ваше видение :)
Тем более что пытаться проверять и утверждать я не буду по причинам :- живой трафик не так легко обратно вернуть и проверить как ботов ))
- трафик я тестировал на отпечатки уже после антифродов - а они в лёгкую могли и заблокировать просто напросто такой трафик - т.к даже если заблокированы в браузере эти параметры то максимум у 0.1% от среднестатистического пользователя - из за этого антифроды могут и блокировать такой трафик с подозрением на бота
Я просто предложил проверить базу на такие отпечатки и как вариант почистить т.к среднестатистический пользователь fp не будет перебирать отпечатки на их состовляющие .
Этот вопрос я предполагаю исчерпать и закрыть дискуссию - кому надо сам может оградиться от таких отпечатков - распарсив и перебирая отпечатки под нужные условия :)
.@support said in Не все отпечатки подменяются на f.vision:
И тоже расходжение "WIn в app версии и юсер агенте" и тоже Win32, хотя у меня X64 винда
Я выше извинился т.к не на то обратил внимание пока печатал . Речь в расхождении WIN NT , а не платформе
"navigator.appVersion": "5.0 (Windows NT 10.0; и "navigator.userAgent": "Mozilla/5.0 (Windows NT 6.1
.0_1558696153120_fp.txt
собственно сам отпечаток .
Самый простой ответ - на трафике с которого снимались отпечатки были такие значения . Но это либо пользователь Сам с какой то целью менял os в UA) либо отпечатки снимались с трафика в котором были бот косячный - А где их сейчас нет )) Вопрос в том что это не нормально ) Думаю даже я.метрика это как робота оценит ) - могу ошибаться -
@support В паралельной теме я еще писал об этом
Думаю, что еще имеет место быть несоответствие заявленного юзерагента фактическим доступным технологиям. Скорей всего это более актуально на моб фингерпринтах. БАС пытается это компенсировать, но он просто ставит заглушки, которые делают вид, что такие методы доступны в окружение браузера. Буквально на днях перепиливал фингепринты (андроид) тк сайт обращался к функции ScreenOrientation.lock() которая возвращает промис, а в БАС возвращалась просто заглушка, что вызывало ошибку. Думаю эксперт нашел бы много таких несоответствий.
Возможно сделать более технологиченые заглушки, чтобы не приходилось самому менять фингерпринт перед применением. И привести в соответствие разрешения в моб фингерах.
-
This post is deleted!
-
живой трафик не так легко обратно вернуть и проверить как ботов ))
Можно добавить этот код на сайт, добавить отправку на сервер, потом проверять значения. Но получится точно тоже самое, что и у меня, потому что я уже это делаю.
трафик я тестировал на отпечатки уже после антифродов - а они в лёгкую могли и заблокировать просто напросто такой трафик
Первоначальное ваше утвержение было
На "живом" трафике опять же повторюсь отсутствия не видел .
Под живыми я понимаю любое устройство, которое заходит на сайт. Вы понимаете только устройства, которые прошли антифрод проверку. Для меня это странно, но ок.Возможно стоит фильтровать устройства на сервере и записывать в базу только "живые", но сейчас это не приоритет даже по отпечаткам.
Я выше извинился т.к не на то обратил внимание пока печатал . Речь в расхождении WIN NT , а не платформе
Может это был реальный пользователь, который поменял ua криво через какое-то расширение. Как по мне, это больше похоже на реального человека, чем на бота. Все равно, в большинстве случаев значения нормальные, и я сомневаюсь, что система не смогла получить свойства навигатора правильно.
Насколько я понимаю, у вас проблема обойти какую-то антифрод систему, причем она выдает конкретные результаты, в каком именно компоненте обнаруживается проблема.
Если решение еще не найдено, используйте тот метод, что я предлагал - делайте небольшие изменения в отпечатке и смотрите на ответ. Так вы сможете локализировать проблему и найти проблемные места, их уже можете прислать мне и я буду чинить.
Второй вариант - FingerprintDetector + анализ кода.
Если вы смотрите на отпечаток и просто находите странные вещи, то такой метод крайне неэффективен.
А если вы уже нашли решение - и оно в отсутствии инфы о вебгл, аудио и расхождении ua, так просто фильтруйте их, зачем я тогда.
-
@agility , исходя из того, сколько я тестирую метрику на предмет обнаружения ботов - метрика справляется очень слабенько с таким трафиком. тестирую ботов с сентября того года - на платных проксях процент роботов на ресурсе варьировался от 2 до 5. На бесплатных - 10-15%. При этом, абсолютный процент трафика на ресурсе это боты - живого за это время человек 100 было, от силы. А роботы успели нафармить почти 2 млн просмотров.
тем не менее, я так же сильно озабочена тем, как эти 3-5% детектятся.
очевидного решения так и не нашла, так как в сети не могу толком найти мануалов по метрике - чтобы было расписано качественно про тот или иной параметр (роботы - например).
если вы и нашли ошибку в несоответствии данных в канвасе , вебгл , навигаторе - то это единичные случаи, а никак не распространённые -
возможно кто-нибудь из озабоченных темой роботов знает способ для изменения метрики таким образом, чтобы выделить конкретные сессии, являющиеся ботами - например по ай-пи подключения или по другим данным, возможно надо сделать метки в самих ботах, дабы протестировать их. Сделав такую выборку можно уже предметно говорить о том, какие ошибки есть и что с этим делать?)
-
This post is deleted!
-
@agility спасибо :3
- да, тестирую через бас, сделала робота под просмотры, на сегодняшний день около 50к профилей с куками и индивид. настройками.
- (про прокси - извините заранее, не шарю особо в названиях и классификациях - знаю только типы проксей) прокси самые обычные - те, которые бесплатные, собираю в сети; те, которые платные закупаю хттп и сокс5. скорее всего резидентские, точно не моб, так как профили только десктоп. с мобильными только учусь работать, т.к. пользователи мобилок имеют кардинально иные поведенческие.
вообще, у меня есть план примерный по тому, как надо действовать:
я видела код, который при добавлении на сайт отсылает в метрику данные об айпи - при его добавлении на свой сайт получается ещё одна вкладка с адресами.(например вот тут)
сейчас же задача состоит в том, чтобы данные об айпи отражались ещё и в отчёте роботов, или аналогичным методом добавлялся список с роботами и их айпи. Так как я не сильна в этом вопросе, надеюсь на помощь экспертов в этом деле.
по всей видимости, не я одна?) -
так вот, если появится инфа о ботах с привязкой по айпи, можно очень легко сравнить список с метрики и лог скрипта, так как там есть привязка айпи и порядкового номера профиля в целом. Лично я смогу предоставить все найденные результаты знающим людям - и обнаруженные отпечатки, и куки, и айпи для тестов
-
This post is deleted!
-
@agility угу, только я про то, что нет данных о том, под какими адресами именно роботы заходят, а не вообще все пользователи
-
@support said in Не все отпечатки подменяются на f.vision:
Я вижу, что многие пользователи обеспокоены результатами BAS для f.vision по canvas и webgl, я обещаю, что следующий патч будет содержать решение данной проблемы. Патч будет готов в течении недели.
Тогда еще часовой пояс исправьте. Некоторые страны перешли на летнее время и действие прокси не добавляет +1ч к часовому поясу.
Я думал сам обновить базы данных отсюда https://dev.maxmind.com/geoip/geoip2/geolite2/
Однако они перешли на новый формат и теперь отдают больше инфы о проксе. -
@support прошу Вас обратить внимание . На данный момент многие отпечатки глючны и не могут запустить ютуб видео , в тот момент , когда даже без отпечатков видео запускается . Не знаю как выяснить в чем именно проблема в отпечатках .
Дело даже не в самом ютубе , а в причине из за чего не запускается видео т.к не нашёл живого браузера который не смог бы запустить видео ютуба ))
Проверял как на встроенном видео на странице , так же и на самой странице видео в ютубе - результат один и тот же => видео не запускается .
Прикладываю список отпечатков для примера .0_1560192745258_youtube.txt -
@titus Смотри ошибки в консоли браузера. Я уже писал об этом. Скорей всего что ютуб пытается использовать какие-то функции которые по факту не существуют в браузере БАС, но так бас прикинулся другим браузером ютуб думает, что они есть. Разработчик писал, что планирует приделать Polyfill библиотеку. А пока приходится вникать, что именно не работает и корректировать отпечаток перед применением.
-
как минимум нужно проверить, что записано в fingerprint.json
применял rect в true, а в json'e оказался false ("rectangles":false), остальное параметры фингера в тру нормально записаны в файле, перфектканвас не использовался == false.
туннелирование включено.
конечно, сейчас смотрю нет ли моего косяка... какие могут быть причины отказа ? может быть не совместимость со старыми фингерами 71-го хрома ?я ведь использую фингеры из файла, может только при запросе фингера онлайн меняются шрифты для ректа ? сразу не подумал об этом...
update: проверил на другом серваке файлы с фингерами. у старых (хром 71-74) рект не ставится, у новых (хром 80+) все ок. вдруг кому поможет.