testcookie_redirect_via_refresh
testcookie_redirect_via_refresh 指令控制网页在 cookie 挑战响应中是否使用 HTML meta refresh 重定向。
NGINX testcookie robot mitigation module
·
httpserverlocation
语法testcookie_redirect_via_refresh on | off;
默认值off
上下文http, server, location
参数1
说明
testcookie_redirect_via_refresh 指令提供通过基于 cookie 的挑战机制来缓解自动化请求的能力。启用此指令后,服务器可以发出要求客户端(例如网页浏览器)通过 cookie 建立会话的挑战。如果设置了此指令,当请求未通过 cookie 检查时,服务器不会执行直接的 HTTP 重定向,而是返回一个包含 meta refresh 标签的 HTML 页面。该标签指示浏览器在指定间隔后刷新,促使其尝试重新连接并获取有效的 cookie。
此指令在自动化代理或机器人尝试访问仅限合法用户的内容的场景中特别有用。通过使用 meta refresh,未正确处理 cookie 的情况下通过挑战的可能性会降低,从而为尝试爬取站点的机器人增加额外的难度。应注意,客户端浏览器和服务器端配置都必须正确设置以确保符合此挑战机制。
testcookie_redirect_via_refresh 的参数包括单个参数,用于确定重定向的行为,通常是一个简单的值,指示启用或禁用刷新行为。正确配置将增强通过 testcookie 指令实施的整体机器人缓解策略的效果。
配置示例
location / {
testcookie on;
testcookie_redirect_via_refresh on;
testcookie_name "TCK";
testcookie_domain "example.com";
testcookie_expire "31 Dec 2037 23:55:55 GMT";
testcookie_max_attempts 3;
testcookie_fallback "/fallback";
}⚠
确保 meta 刷新间隔不会因为频繁的刷新请求而对服务器造成不必要的负载。
⚠
如果配置不当,刷新机制可能会导致合法用户的延迟增加,从而可能带来不理想的用户体验。
⚠
如果回退 URL 未正确设置,用户在超过最大尝试次数后将看到 403 错误。