testcookie_arg
`testcookie_arg` 指令定义了一个 GET 参数名称,用于在 NGINX 的 testcookie 机器人缓解模块中确定设置 Cookie 的尝试次数。
NGINX testcookie robot mitigation module
·
httpserverlocation
语法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,用户体验可能会下降,因为用户在超过限制后不会被重定向。