← Cloudflare Ruleset Engine / ruleset-engine / managed-rulesets / override-examples
Povolení pouze pravidel Joomla
Použijte Rulesets API ke konfiguraci spuštění spravované sady pravidel a přepsání jejího chování. Ve výchozím nastavení povolená pravidla provádějí akce definované vydavatelem spravované sady pravidel. Tento příklad používá přepsání, aby byla povolená pouze pravidla s určitým štítkem.
Podle následujících kroků nakonfigurujte spuštění spravované sady pravidel se dvěma přepsáními, která povolí pouze pravidla se štítkem joomla.
- Přidejte pravidlo do sady pravidel vstupního bodu fáze, která spouští spravovanou sadu pravidel.
- Nastavte přepis sady pravidel , které deaktivuje všechna pravidla ve spravované sadě pravidel.
- Nastavte přepis podle štítku, který povolí pouze pravidla s daným štítkem.
Přepsání štítků mají přednost před přepsáním sady pravidel. Povolena jsou pouze pravidla se zadaným štítkem, všechna ostatní pravidla jsou zakázána.
Příklad 1
Tento příklad nasazuje Cloudflare Managed Ruleset do fáze, ve které jsou povolena pouze pravidla pro Joomla. name, kind, a phase pole se z požadavku vynechávají, protože jsou neměnná.
Příklad: Povolení pouze pravidel Joomla pomocí přepisů kategorií na úrovni zóny
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Response Compression WriteConfig Settings WriteDynamic URL Redirects WriteCache Settings WriteCustom Errors WriteOrigin WriteManaged headers WriteZone Transform Rules WriteMass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset WriteSanitize WriteTransform Rules WriteSelect Configuration WriteBot Management WriteZone WAF WriteAccount WAF WriteAccount Rulesets WriteLogs WriteLogs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"action": "execute",
"expression": "true",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"overrides": {
"enabled": false,
"categories": [
{
"category": "joomla",
"action": "block",
"enabled": true
}
]
}
}
}
]
}'"id": "<MANAGED_RULESET_ID>"přidá pravidlo do sady pravidel fáze, které použije Cloudflare Managed Ruleset na požadavky pro zadanou zónu ($ZONE_ID)."enabled": falsedefinuje přepis na úrovni sady pravidel, který zakazuje všechna pravidla ve spravované sadě pravidel."categories": [{"category": "joomla", "action": "block", "enabled": true}]definuje přepis na úrovni tagu, který povoluje pravidla Joomla a nastavuje jejich akci nablock.
Příklad: Povolení pouze pravidel Joomla pomocí přepisů kategorií na úrovni účtu
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Mass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteTransform Rules WriteSelect Configuration WriteAccount WAF WriteAccount Rulesets WriteLogs Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"action": "execute",
"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"overrides": {
"enabled": false,
"categories": [
{
"category": "joomla",
"action": "block",
"enabled": true
}
]
}
}
}
]
}'"id": "<MANAGED_RULESET_ID>"přidá pravidlo do sady pravidel fáze, které použije Cloudflare Managed Ruleset na požadavky proexample.com."enabled": falsedefinuje přepis na úrovni sady pravidel, který zakazuje všechna pravidla ve spravované sadě pravidel."categories": [{"category": "joomla", "action": "block", "enabled": true}]definuje přepis na úrovni tagu, který povoluje pravidla Joomla a nastavuje jejich akci nablock.
K pravidlu můžete přidat více než jeden přepis kategorie.
Příklad 2
Tento příklad přidává dva přepisy k pravidlu, které spouští spravovanou sadu pravidel (<MANAGED_RULESET_ID>) v http_request_firewall_managed fázi. Všimněte si, že name, kind, a phase pole se z požadavku vynechávají, protože jsou neměnná.
Příklad: Přidání více než jednoho přepisu kategorie na úrovni zóny
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Response Compression WriteConfig Settings WriteDynamic URL Redirects WriteCache Settings WriteCustom Errors WriteOrigin WriteManaged headers WriteZone Transform Rules WriteMass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset WriteSanitize WriteTransform Rules WriteSelect Configuration WriteBot Management WriteZone WAF WriteAccount WAF WriteAccount Rulesets WriteLogs WriteLogs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"action": "execute",
"expression": "true",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"overrides": {
"enabled": false,
"categories": [
{
"category": "joomla",
"action": "log",
"enabled": true
},
{
"category": "wordpress",
"enabled": false
}
]
}
}
}
]
}'Příklad: Přidání více než jednoho přepisu kategorie na úrovni účtu
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Mass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteTransform Rules WriteSelect Configuration WriteAccount WAF WriteAccount Rulesets WriteLogs Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"action": "execute",
"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"overrides": {
"enabled": false,
"categories": [
{
"category": "joomla",
"action": "log",
"enabled": true
},
{
"category": "wordpress",
"enabled": false
}
]
}
}
}
]
}'Pořadí přepisů v sadě pravidel určuje, zda jsou pravidla v nasazené spravované sadě pravidel povolena, nebo zakázána. Přepisy uvedené později v seznamu mají přednost před dřívějšími přepisy.
Podívejme se na čtyři pravidla ze spravované sady pravidel v uvedeném kódu, která mají různé kombinace category štítky. Následující tabulka zobrazuje stav pravidel po provedení přepsání.
| Pravidlo ve spravované sadě pravidel | Štítky | Stav pravidla po přepsání |
|---|---|---|
| ManagedRule1 | drupal, dos |
Disabled |
| ManagedRule2 | drupal, dos, joomla |
Enabled |
| ManagedRule3 | dos, joomla, wordpress |
Disabled |
| ManagedRule4 | drupal, wordpress |
Disabled |
| ManagedRule5 | (žádné štítky) | Disabled |