← Cloudflare Turnstile / turnstile / additional-configuration
Ephemeral IDs
Ephemeral ID представляют собой краткоживущие идентификаторы устройств, которые Turnstile создаёт при каждом обращении посетителя. В отличие от методов, основанных на IP-адресе, Ephemeral ID связывают поведение посетителя с конкретным клиентским устройством и не используют ни файлы cookie, ни хранилище на стороне клиента. Поэтому они эффективны против злоумышленников, которые меняют IP-адрес от запроса к запросу.
Как работают Ephemeral IDs
Ephemeral ID формируются динамически при каждой попытке пройти проверку Turnstile. Файлы cookie и локальное хранилище для этого не нужны.
Ephemeral ID действуют только в пределах вашей учётной записи Cloudflare, передать их в другую учётную запись нельзя. Срок их жизни составляет несколько дней, и определить по ним конкретного пользователя невозможно.
Такой подход особенно эффективен против атак credential stuffing и массовой регистрации фальшивых аккаунтов, когда злоумышленники меняют IP-адреса, чтобы их не обнаружили.
См. запись в блоге ↗, где это описано подробнее.
Внедрение
Включение Ephemeral IDs
-
Обратитесь к своей команде по работе с клиентами Cloudflare, чтобы для вашей учётной записи включили право на использование Ephemeral ID. Функция доступна только на уровне Enterprise, самостоятельно её включить нельзя.
-
Когда разрешение выдано, включите Ephemeral IDs для нужных виджетов через Cloudflare API.
команда cURLcurl -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 }' -
Убедитесь, что Ephemeral IDs включены: проверьте конфигурацию виджета.
команда cURLcurl -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.
{
"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, обратитесь к своей команде по работе с клиентами.