[SendIt 2.6.0] Анализ поведения пользователя
Всем привет! В этом обновлении была улучшена защита от спама посредством добавления анализатора поведения пользователя
Как это работает
Класс UserBehaviorTracker анализирует поведение пользователя на странице, чтобы отличить человека от бота. Он собирает:
1. Движения мыши и оценивает их прямолинейность и углы поворота
2. Клики: позиции, интервалы между кликами, естественность вариаций.
3. Нажатия клавиш: скорость набора, паттерны ввода, интервалы между нажатиями.
4. Прокрутку: плавность, дистанция и частоту.
5. Временные характеристики: общую активность и частоту взаимодействий.
В результате по каждой характеристике получаем процент того насколько поведение характерно для бота. Затем полученные проценты умножаем на вес каждой характеристики. Считаем среднее значение. Прибавляем фактор тенденции и отнимаем фактор охлаждения. В результате получаем процент вероятности того, что текущий пользователь бот. Если этот процент больше, чем указано в конфигурации, то ни одна форма на сайте отправлена не будет, а пользователь получит уведомление о том, что он бот.
Если вас данное поведение не устраивает и вы хотите добавить дополнительные проверки, тогда следует делать так.
1. Подписаться на событие 'si:send:before'
2. Проверить определён ли текущий пользователь как бот, если да, то выполнить свою проверку
Как это работает
Класс UserBehaviorTracker анализирует поведение пользователя на странице, чтобы отличить человека от бота. Он собирает:
1. Движения мыши и оценивает их прямолинейность и углы поворота
2. Клики: позиции, интервалы между кликами, естественность вариаций.
3. Нажатия клавиш: скорость набора, паттерны ввода, интервалы между нажатиями.
4. Прокрутку: плавность, дистанция и частоту.
5. Временные характеристики: общую активность и частоту взаимодействий.
В результате по каждой характеристике получаем процент того насколько поведение характерно для бота. Затем полученные проценты умножаем на вес каждой характеристики. Считаем среднее значение. Прибавляем фактор тенденции и отнимаем фактор охлаждения. В результате получаем процент вероятности того, что текущий пользователь бот. Если этот процент больше, чем указано в конфигурации, то ни одна форма на сайте отправлена не будет, а пользователь получит уведомление о том, что он бот.
Если вас данное поведение не устраивает и вы хотите добавить дополнительные проверки, тогда следует делать так.
1. Подписаться на событие 'si:send:before'
2. Проверить определён ли текущий пользователь как бот, если да, то выполнить свою проверку
if(Number(fetchOptions.body.get('isBot')) === 1){
// ваша проверка
}3. Установить результат вашей проверки как значение поля isBotfetchOptions.body.set('isBot', result);Для получения данных с результатами анализа поведения пользователя в любом месте вашего кода вызовите следующий методwindow.SendIt?.UserBehaviorTracker?.requestAnalysis();Спасибо за внимание!
Поблагодарить автора
Отправить деньги
0