INTEGRITY Dokumentace

Libovolný hostname (pouze Enterprise)

Funkce Any Hostname ruší povinnost zadávat při vytváření widgetu hostname, takže widget funguje na libovolné doméně.

Ověřování názvu hostitele je ve výchozím nastavení bezpečnostní prvek, který brání neoprávněnému použití vašich widgetů. Oprávnění Any Hostname toto omezení ruší, takže pole s názvem hostitele je při vytváření widgetu volitelné.

Když je tato možnost zapnutá, můžete widgety vytvářet bez povinného zadání hostname a používat je na libovolné doméně bez předchozí konfigurace. Zároveň tím zaniká ochrana založená na validaci hostname.

Implementace

Bezpečnostní rizika při použití Any Hostname snížíte tím, že budete sledovat využití widgetu přes Turnstile Analytics k odhalení neočekávaných vzorců, doplňte do kódu aplikace ověřování na straně serveru s kontrolou hostname a použijte action a cData ke sledování zdrojů použití widgetů a k určení, kde jsou widgety nasazené.

Při použití funkce Libovolný hostname je nutné doplnit v kódu na straně serveru další validaci, jinak přijdete o bezpečnostní kontroly. Vždy ověřujte hostname v odpovědích Siteverify.

Ukázková odpověď
async function validateTurnstileWithHostname(token, expectedHostnames = []) {
  const response = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      secret: process.env.TURNSTILE_SECRET,
      response: token
    })
  });

  const result = await response.json();

  if (!result.success) {
    return { valid: false, error: 'Token validation failed' };
  }

  // Additional hostname validation when using Any Hostname
  if (expectedHostnames.length > 0 && !expectedHostnames.includes(result.hostname)) {
    return { 
      valid: false, 
      error: 'Hostname not in allowed list',
      hostname: result.hostname 
    };
  }

  return { valid: true, data: result };
}

Pravidelně kontrolujte v Turnstile Analytics, zda se neobjevují neobvyklé vzorce používání, a sledujte pole hostname v odpovědích Siteverify. Na používání widgetu na neočekávaných doménách si můžete nastavit upozornění.

Použijte action a cData ke sledování zdrojů použití widgetů.

<!-- Widget with tracking information -->
<div class="cf-turnstile" 
     data-sitekey="your-site-key"
     data-action="customer-portal"
     data-cdata="tenant-123"></div>

Případy použití

Funkce Any Hostname je obzvlášť užitečná pro zákazníky, kteří mají: