testcookie_arg

`testcookie_arg` 指令定义了一个 GET 参数名称,用于在 NGINX 的 testcookie 机器人缓解模块中确定设置 Cookie 的尝试次数。

语法testcookie_arg name;
默认值none
上下文http, server, location
参数1

说明

testcookie_arg 指令在 NGINX 的 testcookie 机器人缓解模块的运行中至关重要,该模块采用基于 Cookie 的质询-响应机制来阻止自动化请求。该指令指定用于跟踪在用户浏览器中成功设置 Cookie 所进行尝试次数的 GET 参数名称。若该指令未正确配置,服务器可能会陷入不断尝试设置 Cookie 的无限循环,导致用户错误和糟糕的体验,因为浏览器在多次失败后会最终显示错误页面来处理这种情况。

配置后,服务器在每次请求时会验证指定的 GET 参数以确定是否进行了设置 Cookie 的尝试。如果该参数缺失或处理不当,服务器可能会无限重复尝试设置 Cookie,因为它不会有任何机制来限制重试次数。与 testcookie_max_attempts 指令配合使用(该指令规定在触发回退 URL 之前允许的最大重定向次数),该机制可确保用户不会陷入无限的 Cookie 设置尝试循环,而是在超过设定限制后被重定向到合适的资源或通知页面。

配置示例

http {
    testcookie on;
    testcookie_arg "cookie_attempt";
    testcookie_max_attempts 5;
}

未设置 testcookie_arg 可能导致无限重定向尝试,从而引起浏览器错误。

确保在整个应用中一致使用该参数名称,以防止客户端问题。

如果将 testcookie_max_attempts 设置为 0,用户体验可能会下降,因为用户在超过限制后不会被重定向。

← 返回所有指令