Создание скриптов. Разработка anti-fraud скрипта для лендинга HTML (Дистанционная работа)
(проект не опубликован)

Бюджет не указан

Задание: Создание скриптов. Разработка anti-fraud скрипта для лендинга HTML (Дистанционная работа)

Задача: Разработать серверно-клиентский механизм для защиты от повторных переходов с одного IP и подозрительной активности (например, боты или кликфрод), с возможностью логирования и анализа. 1. Ограничение количества переходов с одного IP (Rate Limiting) Цель Предотвратить множественные клики с одного IP-адреса (например, по контекстной рекламе). Требования • Ограничить количество переходов на лендинг с одного IP: не более 3 переходов за 10 минут. • При превышении лимита —: o Возвращать заглушку с сообщением (“Превышено количество запросов”) o Не загружать основной контент лендинга (по возможности) • Реализовать на серверной части (Node.js, Python или PHP — уточняется). • Хранение счётчика IP-адресов — Redis или в памяти (если трафик небольшой). ________________________________________ 2. Логирование подозрительной активности Цель Собирать аналитические данные для выявления фрода и создания отчётов в рекламные системы (например, Яндекс Директ). Требования к логированию Логировать в файл/базу следующие данные при каждом переходе с UTM-меткой utm_source=yandex: Информация для логов: • Время запроса (формат ISO 8601) • IP-адрес • Все HTTP-заголовки (включая Referer, User-Agent, Cookie) • UTM-метки (все, если есть) • Fingerprint (если вычислен) • Количество запросов с этого IP за последние 10 минут • Тайминг между переходами • Повторяемость маршрута (например, последовательность URL или скролл-поведение — если возможно) Хранилище логов • Запись в JSON-файл или MongoDB (предпочтительно — обсуждается). • Структурировать по времени (например, файл logs/2025-06-05.json). ________________________________________ 3. Идентификация устройств через Fingerprint Цель Обнаружение повторяющихся посещений даже при смене IP-адресов (например, через TOR, VPN). Реализация • Подключить и использовать библиотеку FingerprintJS (https://fingerprint.com или open-source версия). • Получать уникальный отпечаток устройства при первом заходе. • Сохранять его в лог (см. выше). • При повторных заходах — проверять наличие ранее зафиксированного отпечатка. • Формировать список подозрительных Fingerprint ID по шаблонам поведения: o Повторные заходы с разных IP o Высокая частота кликов o Одинаковый маршрут и user-agent ________________________________________ 4. Общие требования • Страницы и скрипты должны быть кроссбраузерными. • Код должен быть оптимизирован под производительность (особенно логика ограничения запросов). • В логах не должно быть потери данных при перезагрузке сервера. • Разработать краткий README по установке и настройке. ________________________________________ Дополнительно (по согласованию) • Реализовать отправку отчёта (CSV или JSON) вручную или по крону с агрегированной статистикой подозрительных посещений. • Возможность пересылки таких логов в Яндекс через интерфейс (например, выгрузка за день). ________________________________________ Интеграции • Лендинг написан на HTML — требуется вставка минимального JS-фрагмента. • Серверная часть может быть реализована отдельно, например, на: o Node.js + Express o Python + Flask/FastAPI o PHP (если только он доступен)