testcookie_samesite
`testcookie_samesite` 指令为 NGINX testcookie 机器人缓解模块使用的 cookie 指定 SameSite 属性。
NGINX testcookie robot mitigation module
·
httpserverlocation
语法testcookie_samesite value;
默认值None
上下文http, server, location
参数1
说明
testcookie_samesite 指令是 NGINX testcookie 模块的关键组成部分,通过使用 cookie 并采用挑战-响应机制来确认用户有效性,从而帮助缓解自动化机器人流量。该指令专门为模块下发的 cookie 设置 SameSite 属性,用以控制这些 cookie 是否可以随跨站请求一起发送。SameSite 属性可以取三种值之一:'Lax'、'Strict' 或 'None'。'Lax' 允许在从外部站点导航时发送 cookie,而 'Strict' 则强制 cookie 仅在第一方上下文中使用,禁止任何跨站请求。'None' 表示不考虑来源都会发送 cookie,从而允许跨站请求。
在配置 testcookie_samesite 指令时,开发者必须权衡所选 SameSite 值的影响。例如,将其设置为 'Lax' 通常在可用性和安全性之间提供良好平衡,因为它允许在顶层导航时发送 cookie,有助于维护用户会话,同时在某些场景下保护免受 CSRF(跨站请求伪造)攻击。选择 'Strict' 可以进一步增强安全性,但在需要跨站请求的情况下可能会影响用户体验。相反,将其设置为 'None' 会取消 SameSite 限制,这可能使应用暴露于诸如 CSRF 攻击等潜在安全风险。
配置示例
testcookie_samesite Lax;
⚠
在使用 'None' 时需要在 cookies 上设置 Secure 属性,否则在某些浏览器中可能不会发送。
⚠
完全不设置 SameSite 属性可能导致意外的跨站点请求,这些请求可能被利用。