← Challenges / cloudflare-challenges
Řešení potíží
Časté problémy
Proxované hostnames
Pokud je váš hostname proxyován přes Cloudflare, mohou se návštěvníkům na vašich webových stránkách zobrazovat Challenge.
Cloudflare spouští ověření prostřednictvím Challenge Platform, což je stejná technologie, na které stojí Turnstile.
Na rozdíl od naší Challenge page umožňuje Turnstile spouštět výzvy kdekoli na webu, méně rušivě a bez nutnosti používat CDN Cloudflare.
Podpora zastaralých prohlížečů
Výzvy nejsou podporovány v prohlížeči Microsoft Internet Explorer. Pokud aktuálně používáte Internet Explorer, zkuste jiný moderní webový prohlížeč (Chrome, Safari, Firefox). Pokud již moderní webový prohlížeč používáte, ujistěte se, že používáte jeho nejnovější verzi.
Hlavička Referer
HTTP požadavek návštěvníka obsahuje hlavičku referer nastavenou na web, ze kterého přišel. Jakmile narazí na Challenge Page a vyřeší ji, požadavek s touto hlavičkou se odešle na origin server a odpověď na něj se doručí uživateli. JavaScript na stránce s odpovědí pak může přečíst hodnotu document.referer, ale nebude přesná.
Například je návštěvník přicházející z daného webu vyzván pomocí Pravidlo WAF prostřednictvím vsunuté stránky Challenge Page zobrazené vaší doménou. Jakmile návštěvník načte domovskou stránku webu, document.referer hodnota je vaše doména, nikoli origin web.
To ovlivňuje nástroje jako Google Analytics, které čtou referer z JavaScriptu, protože nahrazuje předchozí web, ze kterého návštěvníci přišli.
Sledovací skripty, například Google Tag Manager Javascript, můžete přidat do stávajícího Challenge Page k zachycení správné hlavičky referer u počátečního požadavku.
<script>
(function () {
const gaIds = {
"<YOUR_DOMAIN>": "<GA_TRACKING_ID>",
};
const gaId = gaIds[window.location.hostname];
if (gaId) {
const src = "https://www.googletagmanager.com/gtag/js?id=";
const gaScript = document.createElement("script");
gaScript.src = src.concat(gaId);
document.body.appendChild(gaScript);
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", gaId);
} else {
console.warn(
"Google Analytics ID not found for host:",
window.location.hostname,
);
}
})();
</script>
</body>Preflight požadavky CORS (Cross-Origin Resource Sharing)
Preflight požadavky CORS (Cross-Origin Resource Sharing), nebo OPTIONS, vylučte přihlašovací údaje uživatele obsahující soubory cookie. V důsledku toho cf_clearance cookie se s požadavkem neodešle, takže se nepodaří obejít Challenge Page (Non-interactive, Managed nebo Interactive Challenge).
Výzvy na webech chráněných Cloudflare
Cloudflare vydává návštěvníkům webu výzvy, aby ochránila web před škodlivou aktivitou, jako jsou útoky botů nebo pokusy o DDoS. Pokud je neočekávaně vyzván legitimní lidský návštěvník, důvodem obvykle je, že jeho požadavek označila některá bezpečnostní funkce.
| Zdroj | Popis |
|---|---|
| Vysoké skóre hrozby | IP adresy s vysokým rizikovým skóre spouštějí Challenge. |
| Reputace IP adresy | Pokud má vaše IP historii podezřelé aktivity, může být označena. |
| Detekce robotů | Automatizovaný provoz připomínající boty Cloudflare filtruje. |
| Vlastní pravidla Web Application Firewall (WAF) | Vlastníci webů mohou nastavit pravidla zaměřená na konkrétní regiony nebo user agenty. |
| Browser Integrity Check | Cloudflare ověřuje, zda prohlížeče splňují určité standardy. |
| Challenge Passage | Technologie jako Privacy Pass snižují četnost opakovaných výzev. |
Aby se zabránilo opakovaným výzvám, mohou návštěvníci podniknout následující kroky, aby jejich prostředí nespouštělo bezpečnostní kontroly:
- Ujistěte se, že váš webový prohlížeč je aktualizovaný na nejnovější stabilní verzi, aby byla zajištěna plná kompatibilita s moderními technologiemi Challenge.
- Dočasně vypnout rozšíření prohlížeče, jako jsou blokátory reklam nebo nástroje na ochranu soukromí, která mohou blokovat standardní hlavičky prohlížeče nebo potřebné skripty výzvy.
- Pokud má vaše IP adresa špatnou reputaci (což se často stává u sdílených VPN nebo firemních proxy serverů), zkuste přepnout na jiné, důvěryhodné síťové připojení.
Povolení provozu z akcí zmírnění
Pokud potřebujete zabránit Block nebo Challenge akce u konkrétních požadavků, například u známých vyhledávacích robotů, monitorovacích služeb nebo interních API, musíte nakonfigurovat výjimku pomocí WAF custom rules.
Cloudflare podporuje dvě hlavní metody pro vytváření těchto výjimek:
1. Použijte pravidlo Skip (doporučeno)
Nejspolehlivější způsob, jak vytvořit výjimku, je vytvořit vlastní pravidlo s Přeskočit akce. Díky tomu mohou odpovídající požadavky obejít určité bezpečnostní funkce, včetně Bot Management a dalších pravidel WAF.
Příklad
Blokujte Amazon Web Services (AWS) a Google Cloud Platform (GCP) kvůli velkému objemu nežádoucího provozu, ale povolte Googlebot a další známé roboty, které Cloudflare ověřuje.
-
Základní pravidlo, bez výjimky:
- Výraz:
(ip.src.asnum in {16509 15169} and not cf.client.bot) - Akce: Block (nebo akce typu výzva)
- Výraz:
-
Pravidlo, které vylučuje IP adresy z blokování nebo výzvy:
- Výraz:
(ip.src.asnum in {16509 15169} and not cf.client.bot) and not (ip.src in {192.0.2.1 198.51.100.42 203.0.113.0/24}) - Akce: Block (nebo akce typu výzva)
- Výraz:
-
Dvě pravidla, která pro konkrétní IP adresy přeskočí zbývající vlastní pravidla a zbytek provozu zablokují.
-
Pravidlo 1:
- Výraz:
ip.src in {192.0.2.1 198.51.100.42 203.0.113.0/24} - Akce: Skip > All remaining custom rules
- Výraz:
-
Pravidlo 2:
- Výraz:
(ip.src.asnum in {16509 15169} and not cf.client.bot) - Akce: Block (nebo akce typu výzva)
- Výraz:
-
2. Upravte Rule Expression
Můžete upřesnit výraz Block nebo Challenge pravidlo, které přímo vyloučí known legitimní provoz pomocí logického operátoru not se seznamem výjimek, například seznamem IP adres, kódem země nebo ASN.
Tento přístup je užitečný pro jednoduché výjimky, ale u složitějších pravidel může být obtížnější na údržbu než samostatné Přeskočit pravidla.
Příklad
Vylučte více IP adres z Block nebo Challenge pravidlo, které vyhodnocuje skóre útoku.
-
Základní pravidlo, bez výjimky:
- Výraz:
(http.host eq "example.com" and cf.waf.score lt 20) - Akce: Block (nebo akce typu výzva)
- Výraz:
-
Pravidlo, které vylučuje IP adresy z blokování/výzvy:
- Výraz:
(http.host eq "example.com" and cf.waf.score lt 20) and not (ip.src in {192.0.2.1 198.51.100.42 203.0.113.0/24}) - Akce: Block (nebo akce typu výzva)
- Výraz:
-
Dvě pravidla, která pro konkrétní IP adresy přeskočí zbývající vlastní pravidla a zbytek provozu zablokují.
-
Pravidlo 1:
- Výraz:
ip.src in {192.0.2.1 198.51.100.42 203.0.113.0/24} - Akce: Skip > All remaining custom rules
- Výraz:
-
Pravidlo 2:
- Výraz:
(http.host eq "example.com" and cf.waf.score lt 20) - Akce: Block (nebo akce typu výzva)
- Výraz:
-