captcha_secret
captcha_secret 指令设置用于生成验证码哈希的密钥。
NGINX Captcha Module
·
httpserverlocation
语法captcha_secret string;
默认值secret
上下文http, server, location
参数1
说明
captcha_secret 指令在 NGINX 验证码模块中用于指定一个在生成验证码哈希时发挥关键作用的密钥字符串。当生成验证码时,该密钥会与验证码文本和 CSRF token 结合以创建一个 MD5 哈希。该哈希在用户提交响应回服务器时用于验证。验证码系统的安全依赖于该密钥的保密性;如果泄露,恶意用户可能通过伪造有效响应来绕过验证码验证过程。
就其参数而言,captcha_secret 指令期望一个单一的字符串参数,该参数在配置中直接位于指令之后。该字符串应足够强壮且唯一以最大化安全性。避免使用简单或容易被猜到的密钥。该指令可在包括 http、server 和 location 在内的各种上下文中使用,增强了根据站点路由需要在不同位置提供验证码支持的灵活性。
在设计需要防机器人策略的表单和用户交互时,正确实现该指令至关重要。如果没有它,未经授权访问的风险会增加,因为用于验证验证码响应的 MD5 哈希将缺少其必要的密钥组件,从而无法确保完整性和安全性。
配置示例
captcha_secret "my_secret_key";
⚠
确保密钥保密,因为一旦泄露可能会削弱验证码的安全性。
⚠
使用可预测的密钥可能使攻击者能够猜出有效的响应。
⚠
请记得为每个启用验证码的位置设置密钥;它不会在全局默认生效。