跳转到内容
搜索文档

阻止 R-U-Dead-Yet? (R.U.D.Y.) 攻击

最后更新 查看 MarkdownAgent 设置

R-U-Dead-Yet (R.U.D.Y.) 攻击通过提交长表单字段来实现拒绝服务 (DoS)。使用自定义规则通过阻止没有合法会话 cookie 的请求来阻止这些攻击。

此示例结合了三个表达式以定位不包含合法身份验证会话 cookie 的 HTTP POST 请求:

  • 第一个表达式使用 http.request.uri.path 字段定位要防止 R.U.D.Y. 攻击的安全路径:

    http.request.uri.path matches "(comment|conversation|event|poll)/create"
  • 第二个表达式使用正则表达式来匹配合法 auth_session cookie 的格式。not 运算符定位未正确格式化该 cookie 的请求:

    not http.cookie matches "auth_session=[0-9a-zA-Z]{32}-[0-9]{10}-[0-9a-z]{6}"
  • 第三个表达式定位 HTTP POST 请求:

    http.request.method eq "POST"

为了生成此示例的最终自定义规则表达式,将这三个表达式使用 and 运算符组合成一个复合表达式。当对任何指定 URI 的 HTTP POST 请求不包含格式正确的 auth_session cookie 时,Cloudflare 将阻止该请求:

  • 当传入请求匹配时

    使用表达式编辑器:
    (http.request.method eq "POST" and http.request.uri.path matches "(comment|conversation|event|poll)/create" and not http.cookie matches "auth_session=[0-9a-zA-Z]{32}-[0-9]{10}-[0-9a-z]{6}")

  • 然后采取操作阻止

这篇文档对您有帮助吗?