此 自定义规则 示例会记录至少包含一个已上传内容对象的所有请求:
-
当传入请求匹配:
字段 运算符 值 Has content object equals True 如果使用 Expression Editor:
(cf.waf.content_scan.has_obj) -
操作: Log
此自定义规则示例会拦截发往 /upload.php、且至少包含一个被视为恶意的已上传内容对象的请求:
-
当传入请求匹配:
字段 运算符 值 Has malicious content object equals True And URI Path equals /upload.php如果使用 Expression Editor:
(cf.waf.content_scan.has_malicious_obj and http.request.uri.path eq "/upload.php") -
操作: Block
此自定义规则示例会拦截发往 /upload、且已上传内容对象不是 PDF 文件的请求:
- 当传入请求匹配:
any(cf.waf.content_scan.obj_types[*] != "application/pdf") and http.request.uri.path eq "/upload" - 操作: Block
此自定义规则示例会拦截发往 /upload、且已上传内容对象大小超过 500 KB(512,000 字节)的请求:
- 当传入请求匹配:
any(cf.waf.content_scan.obj_sizes[*] > 512000) and http.request.uri.path eq "/upload" - 操作: Block
此自定义规则示例会拦截已上传内容对象大小超过 50 MB(当前内容扫描限制)的请求:
- 当传入请求匹配:
any(cf.waf.content_scan.obj_sizes[*] >= 52428800) - 操作: Block
在此示例中,你还必须测试相等性,因为目前任何超过 50 MB 的文件在内部都会按 50 MB(52,428,800 字节)处理。这意味着对该特定规则使用 >(大于)比较运算符 不起作用——应改用 >=(大于或等于)。