在您的阶段入口点规则集中结合使用规则集覆盖、标记覆盖和规则覆盖,来自定义托管规则集的执行。
本示例使用更新区域入口点规则集操作在单个 PUT 请求中执行以下操作:
- 向
http_request_firewall_managed阶段入口点规则集添加一条执行托管规则集的规则。 - 使用类别覆盖启用带有
wordpress和drupal标记的规则,并将其操作设置为log。 - 添加一个启用单条规则的规则覆盖。
在本示例中:
"id": "<MANAGED_RULESET_ID>"定义了要为寻址到某区域($ZONE_ID)的请求执行的托管规则集。"enabled": false在规则集级别定义了一个覆盖,以禁用托管规则集中的所有规则。"categories": [{"category": "wordpress", "action": "log", "enabled": true}, {"category": "drupal", "action": "log", "enabled": true}]在标记级别定义了一个覆盖,以启用带有wordpress或drupal标记的规则并将其操作设置为log。"rules": [{"id": "<RULE_ID>", "action": "block", "enabled": true}]在规则级别定义了一个覆盖,启用一条单独的规则并将操作设置为block。
Required API token permissions
At least one of the following token permissions is required: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": "wordpress",
"action": "log",
"enabled": true
},
{
"category": "drupal",
"action": "log",
"enabled": true
}
],
"rules": [
{
"id": "<RULE_ID>",
"action": "block",
"enabled": true
}
]
}
}
}
]
}'本示例使用更新账户入口点规则集操作在单个 PUT 请求中执行以下操作:
- 向
http_request_firewall_managed阶段入口点规则集添加一条规则,该规则为区域example.com执行托管规则集。 - 使用类别覆盖启用带有
wordpress和drupal标记的规则,并将其操作设置为log。 - 添加一个启用单条规则的规则覆盖。
在本示例中:
"id": "<MANAGED_RULESET_ID>"定义了要为寻址到example.com的请求执行的托管规则集。"enabled": false在规则集级别定义了一个覆盖,以禁用托管规则集中的所有规则。"categories": [{"category": "wordpress", "action": "log", "enabled": true}, {"category": "drupal", "action": "log", "enabled": true}]在标记级别定义了一个覆盖,以启用带有wordpress或drupal标记的规则并将其操作设置为log。"rules": [{"id": "<RULE_ID>", "action": "block", "enabled": true}]在规则级别定义了一个覆盖,启用一条单独的规则并将操作设置为block。
Required API token permissions
At least one of the following token permissions is required: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": "wordpress",
"action": "log",
"enabled": true
},
{
"category": "drupal",
"action": "log",
"enabled": true
}
],
"rules": [
{
"id": "<RULE_ID>",
"action": "block",
"enabled": true
}
]
}
}
}
]
}'