captcha_length

'captcha_length' 指令指定生成的验证码文本的长度。

语法captcha_length characters;
默认值4
上下文http, server, location
参数1

说明

'captcha_length' 指令定义了由 NGINX Captcha Module 生成的验证码字符串将包含多少字符。该指令可以放在 http、server 或 location 上下文中,从而允许在 NGINX 配置的不同部分进行灵活配置。当您为此指令指定一个值时,它会直接影响验证码的难度和可用性:较短的验证码更容易被机器人识别,而较长的验证码则能更好地防止自动提交。

提供给 'captcha_length' 的参数应为正整数,表示验证码文本中的字符数。一旦定义,该长度将在验证码生成过程中被使用,生成过程中会从指定的 charset 中随机选择字符来创建验证码。这样可以确保每个生成的验证码都是唯一的且符合定义的长度,从而在提升用户体验的同时防护恶意机器人的活动。

根据目标用户和应用的安全需求选择合适的验证码长度非常重要。更长的验证码通常能通过增加复杂性来提供更强的安全性,从而抵御自动化攻击。但过长的验证码可能会让合法用户感到沮丧,因此需要基于视觉可读性和响应时间等因素来取得平衡。

配置示例

location =/captcha {
    captcha;
    captcha_length 6;
}

location =/login {
    set_form_input $captcha_form captcha;
    # Additional processing related to captcha verification...
}

确保指定的长度为正整数,因为负值或零会导致意外行为。

请记住选择适合目标受众的长度;太长可能会让用户感到沮丧,而太短则可能被机器人轻易突破。

← 返回所有指令