← Cloudflare Turnstile / turnstile / additional-configuration / hostname-management
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.
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í:
- Rozsáhlá portfolia domén, kde by se každá doména musela spravovat zvlášť.
- Dynamické vytváření subdomén, kdy často vznikají nové subdomény nebo domény jednotlivých zákazníků.
- Víceklientské aplikace, například SaaS platformy obsluhující domény více zákazníků.
- Vývojová prostředí, která se testují na různých staging a vývojových doménách.