过滤器是一种表达以下含义的方式:
if (traffic matches certain criteria) then...过滤器包含一个表达式,在根据通过 Cloudflare 的流量进行评估时,该表达式将返回 true 或 false。
过滤器表达式对人类和机器都是可读的,您可以组合复杂的逻辑来精确匹配您有兴趣检测和采取行动的流量。
过滤器对象通常如下所示:
{
"id": "<FILTER_ID>",
"expression": "(http.request.uri.path ~ \"^.*wp-login.php$\" or http.request.uri.path ~ \"^.*xmlrpc.php$\") and ip.src ne 93.184.216.34",
"description": "WordPress login paths via the login page or mobile RPC endpoint"
}此示例过滤器中指定的表达式是:
(http.request.uri.path ~ "^.*wp-login.php$" or http.request.uri.path ~ "^.*xmlrpc.php$") and ip.src ne 93.184.216.34此过滤器表达式具有 (this or that) and not this((这或那)并且非这)的结构,旨在:
- 捕获两个可能受到暴力密码攻击的 WordPress 路径,并且
- 排除来自 IP 地址
93.184.216.34的流量。
假设这是您办公室的 IP。此表达式演示了一个可能被用于(在防火墙规则中)阻止在办公网络外部访问 WordPress 登录的过滤器。
有关规则表达式的更多信息,请参考规则语言文档中的 表达式。