INTEGRITY Документация

Ephemeral IDs

Ephemeral ID представляют собой краткоживущие идентификаторы устройств, которые Turnstile создаёт при каждом обращении посетителя. В отличие от методов, основанных на IP-адресе, Ephemeral ID связывают поведение посетителя с конкретным клиентским устройством и не используют ни файлы cookie, ни хранилище на стороне клиента. Поэтому они эффективны против злоумышленников, которые меняют IP-адрес от запроса к запросу.

Как работают Ephemeral IDs

Ephemeral ID формируются динамически при каждой попытке пройти проверку Turnstile. Файлы cookie и локальное хранилище для этого не нужны.

Ephemeral ID действуют только в пределах вашей учётной записи Cloudflare, передать их в другую учётную запись нельзя. Срок их жизни составляет несколько дней, и определить по ним конкретного пользователя невозможно.

Такой подход особенно эффективен против атак credential stuffing и массовой регистрации фальшивых аккаунтов, когда злоумышленники меняют IP-адреса, чтобы их не обнаружили.

См. запись в блоге, где это описано подробнее.


Внедрение

Включение Ephemeral IDs

  1. Обратитесь к своей команде по работе с клиентами Cloudflare, чтобы для вашей учётной записи включили право на использование Ephemeral ID. Функция доступна только на уровне Enterprise, самостоятельно её включить нельзя.

  2. Когда разрешение выдано, включите Ephemeral IDs для нужных виджетов через Cloudflare API.

    команда cURL
    curl -X PUT "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/challenges/widgets/$WIDGET_ID" \
      -H "Authorization: Bearer $API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "ephemeral_id": true
      }'
  3. Убедитесь, что Ephemeral IDs включены: проверьте конфигурацию виджета.

    команда cURL
    curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/challenges/widgets/$WIDGET_ID" \
      -H "Authorization: Bearer $API_TOKEN"

Доступ к Ephemeral ID

После включения функции Ephemeral ID возвращаются в ответах Siteverify API.

Ответ Siteverify API
{
	"success": true,
	"challenge_ts": "2022-02-28T15:14:30.096Z",
	"hostname": "example.com",
	"error-codes": [],
	"action": "login",
	"cdata": "sessionid-123456789",
	"metadata": {
		"ephemeral_id": "x:9f78e0ed210960d7693b167e"
	}
}

Доступность

Ephemeral ID доступны клиентам Enterprise Bot Management с дополнением Enterprise Turnstile, а также клиентам отдельного продукта Enterprise Turnstile. Чтобы получить доступ к Ephemeral ID, обратитесь к своей команде по работе с клиентами.